0

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

4

3 回答 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 回答