如何在字符数组的单个索引中存储整数?

-2 c++ arrays atoi itoa visual-c++

我想在单个索引的字符数组中存储一个整数.itoa在这种情况下,该功能不起作用.有人可以帮忙吗?

Mik*_*our 7

如果你的意思是你想将整数用作字符值并将其放在一个数组中,那么它就是这样

array[index] = number;
Run Code Online (Sandbox Code Playgroud)

如果您的意思是要将一位数的值写入数组的特定索引,那么

if (number >= 0 && number < 10) {
    array[index] = '0' + number;
} else {
    // not representable by a single digit
}
Run Code Online (Sandbox Code Playgroud)

更新:从你的评论,这可能是你想要的.

如果你的意思是你想把数字的十进制表示写入一个数组(包括几个字符元素,而不仅仅是一个),那么不要使用,itoa因为这是非标准和危险的.snprintf可以更安全地做到这一点:

if (snprintf(array, array_size, "%d", number) >= array_size) {
    // the array was too small
}
Run Code Online (Sandbox Code Playgroud)

或者,因为这是C++,您可以使用它std::string来管理内存并确保数组足够大:

std::string string = std::to_string(number);
Run Code Online (Sandbox Code Playgroud)

或者,如果你遇到过时的C++库

std::ostringstream ss;
ss << number;
std::string string = n.str();
Run Code Online (Sandbox Code Playgroud)

如果你的意思是其他的,那么请澄清.