如何将整数显示为字符
How to display an integer literally as a character
我有一个整数1,我想在C++中将它显示为字符'1'。到目前为止,我只成功地将它从整数65转换为字符"A"。你如何阻止这种情况?
int theDigit = 1;
char ch = theDigit+'0';
这之所以有效,是因为它保证了字符序列'0'
。。。'9'
是连续的,所以如果你把数字加在"0"上,你就会得到相应的字符。显然,这只适用于个位数(如果theDigit
是例如20,则会得到一个不相关的字符),如果需要将整数转换为字符串,则需要snprintf
(在C中)或字符串流(在C++中)。
- C++11,[lex.charset]¶3:
在源和执行基本字符集中,上述十进制数字列表中0之后的每个字符的值都应比前一个字符的值大一。
顺便说一句,我想他们并没有因为EBCDIC而在字母字符中强制要求相邻性。
使用字符串流。
int blah = 356;
stringstream ss;
string text;
ss << blah;
ss >> text;
现在text
包含"356"
(没有引号)。如果要复制我的代码,请确保包含头文件并使用名称空间:
#include <sstream> //For stringstream
#include <string>
using namespace std;
#include <stdio.h>
#include <stdlib.h>
int i = 3;
char buffer [25];
itoa (i, buffer, 10);
printf ("Integer: %sn",buffer);
整数:3
您刚刚询问了打印整数的问题,所以真正简单的c++答案是:
#include <iostream>
int main()
{
int value = 1;
std::cout << value << endl;
return 0;
}
相关文章:
- 字符串-C++后显示的随机字符
- 显示基于用户输入的整数的字符
- 在将字符插入 2d 字符串时如何不显示空字符?
- 为什么strlen(s)与s的大小不同,为什么cout-char显示的是字符而不是数字
- 为什么C++在将浮点数转换为字符时没有显示缩小转换错误?
- 链表显示垃圾字符
- 在大小为 10 的 char 数组中输入超过 10 个字符的字符串并输出时,它会显示整个数组而不是前 10 个数组.为什
- 程序,它接受用户输入的字符并按出现的降序显示它们
- 使用带有诅咒库的 stdscr 创建窗口,在边框而不是线条中显示不需要的笑脸字符
- 如何检查输入是否为字符并显示它是"invalid input",否则它将按原样运行
- 如何在不将其转换为 ASCII 字符的情况下显示 QByteArray 的十六进制值
- 如何从显示板将字符显示为字符串?
- 将终端设置为原始模式:仅在按下下一个键后显示字符
- 在QLineEdit中显示和编辑转义字符
- 我的程序没有将字符显示在屏幕上
- C++控制台字符显示
- C++特殊字符显示为"?"
- 将字符显示为没有显式强制转换的整数
- 为什么sizeof为一个字符显示4个字节
- 使用'uxxxx'格式定义的字符显示错误的字符