我是C++的新手,我想做一些应该是很基本的事情。
我在C++里有一个小循环,它只是显示一个数字序列,我想把这些数字转换成特定的ASCII字符。就像这样。
for (int k = 0; k < 16; k++) {
display(65+k);
}
结果应该是这样的:
ABCDEFGH... 等等
有什么办法吗?
谢谢!我是一个新的C++新手,我想做一些应该很基本的事情。
基于澄清的EDIT:从错误信息来看 display
取一个C型字符串。你可以建立一个这样的。
for (int k = 0; k < 16; k++) {
char str[2] = { 65 + k }; // Implicitly add the terminating null.
display(str);
}
那就是
#include <iostream>
int main() {
for (int k = 0; k < 16; k++) {
std::cout.put(65+k);
}
}
对C++来说
这里有一个简单的方法来转换一个整数到ascii字符。
int number = 65;
char convertedAscii = static_cast<char>(number);
cout << convertedAscii;
你可以像这样使用它:
char convertedAscii;
for (int k = 0; k < 16; k++) {
convertedAscii = static_cast<char>(65+k);
cout << convertedAscii;
}
cout << endl;
我相信它只适用于unicode拉丁字母表末尾的某个地方,虽然。基本上,如果你想打印出第170个ascii字符,那么它将循环返回,并给你第85个字符,而不是。我希望这回答了你的问题。