我想将整数和字符存储在同一个数组中。像:EA1001 或 EB1254 它们应该是身份代码。它不一定是一个数组,只是我可以用来将这些字符串存储在一起的东西,否则我很难冗余地使用它们。谢谢你的时间。
问问题
120 次
3 回答
2
你不能将它们存储为字符串吗?例如
std::vector<std::string> my_codes;
my_codes.push_back("EA1001");
my_codes.push_back("EB1254");
于 2012-07-19T12:16:33.917 回答
0
答案是工会数组。但这可能很危险。
union
{
char char_var;
int int_var;
}same_array;
并做声明:
same_array my_array[1000];
因为 int 是 16 或 32 位,而 char 是 8 位。这是为 int 和 char 表示 32 位区域的唯一方法
于 2012-07-19T12:14:26.927 回答
0
最合理的解决方案是使用std::string
. 从您的问题看来,您似乎只需要保存可以包含数字的字符串:
std::string a = "EA112312";
如果你想要一组,使用std::vector
它的元素是字符串:
std::vector< std::string >vec;
vec.push_back(a);//adding an element to the vector, where a is a string.
好吧,实际上,您甚至可以执行以下操作:
int a = 'm';
std::cout << (char)a;
所以从技术上讲,可以将数字和字符都存储在 s 数组中int
,但这会是……呃……很奇怪。
于 2012-07-19T12:15:43.200 回答