我想在同一个数组中存储整数和字符。喜欢: EA1001或EB1254 它们应该是身份代码。 它不一定是一个数组,只是我可以用来存储这些字符串的东西,否则我很难冗余地使用它们。 谢谢你的时间。
答案 0 :(得分:2)
你不能把它们存放为字符串吗? E.g。
std::vector<std::string> my_codes;
my_codes.push_back("EA1001");
my_codes.push_back("EB1254");
答案 1 :(得分:0)
答案是一系列工会。但这可能很危险。
union
{
char char_var;
int int_var;
}same_array;
并做声明:
same_array my_array[1000];
因为int是16位或32位而char是8位。这是表示int和char
的32位区域的唯一方法答案 2 :(得分: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;
所以技术上可以将数字和字符存储在int
s的数组中,但那会......呃......很奇怪。