char和int进入同一个数组

时间:2012-07-19 12:12:19

标签: c++ arrays string

我想在同一个数组中存储整数和字符。喜欢: EA1001或EB1254 它们应该是身份代码。 它不一定是一个数组,只是我可以用来存储这些字符串的东西,否则我很难冗余地使用它们。 谢谢你的时间。

3 个答案:

答案 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的数组中,但那会......呃......很奇怪。