我有一个整数1,我想在C ++中将其显示为字符“1”。到目前为止,我只设法将它从整数65转换为字符'A'。 你怎么阻止这个?
答案 0 :(得分:5)
int theDigit = 1;
char ch = theDigit+'0';
这是有效的,因为它保证 1 字符序列'0'
... '9'
是连续的,所以如果你将你的数字添加到'0',你会得到相应的人物。显然这只适用于单个数字(如果theDigit
是例如20,你会得到一个不相关的字符),如果你需要将一个整数转换为字符串,你需要snprintf
(在C中)或string streams(在C ++中)。
在源和执行基本字符集中,上述十进制数字列表中0之后的每个字符的值应大于前一个值的值。
顺便说一句,我认为他们并没有因为EBCDIC而在字母字符中强制要求连词。
答案 1 :(得分:2)
使用stringstream。
int blah = 356;
stringstream ss;
string text;
ss << blah;
ss >> text;
现在text
包含"356"
(不含引号)。如果要复制我的代码,请确保包含头文件并使用命名空间:
#include <sstream> //For stringstream
#include <string>
using namespace std;
答案 2 :(得分:1)
#include <stdio.h>
#include <stdlib.h>
int i = 3;
char buffer [25];
itoa (i, buffer, 10);
printf ("Integer: %s\n",buffer);
整数:3
答案 3 :(得分:0)
你刚刚问过打印一个整数,所以真正简单的c ++答案是:
#include <iostream>
int main()
{
int value = 1;
std::cout << value << endl;
return 0;
}