如何在c++中把一个整数值转换成一个特定的ascii字符?

问题描述 投票:1回答:3

我是C++的新手,我想做一些应该是很基本的事情。

我在C++里有一个小循环,它只是显示一个数字序列,我想把这些数字转换成特定的ASCII字符。就像这样。

    for (int k = 0; k < 16; k++) {
        display(65+k);
    }

结果应该是这样的:

ABCDEFGH... 等等

有什么办法吗?

谢谢!我是一个新的C++新手,我想做一些应该很基本的事情。

c++ ascii int
3个回答
2
投票

基于澄清的EDIT:从错误信息来看 display 取一个C型字符串。你可以建立一个这样的。

for (int k = 0; k < 16; k++) {
    char str[2] = { 65 + k };  // Implicitly add the terminating null.
    display(str);
}

0
投票

那就是

#include <iostream>  
int main() {  
for (int k = 0; k < 16; k++) {
        std::cout.put(65+k);
    }
}

对C++来说


0
投票

这里有一个简单的方法来转换一个整数到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个字符,而不是。我希望这回答了你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.