整形转换来的字符在屏幕和文本中输出不同

来源:百度知道 编辑:UC知道 时间:2024/06/03 19:28:07
整形转换来的字符在屏幕和文本中输出不同,这是为什么呢?
在txt文件中输出了不是ASCII码的特殊字符。而屏幕中是ASCII码文件
如果一个数大于128转化为字符输出是不一样的。还有那个:cout<<int(char(176))<<endl;
为什么得到的不是176,而是个负数

如果你用同样的输出格式输出,应当得到同样的字符。
例如,用 %c 格式 输出百分号:

程序 a.c

#include<stdlib.h>
#include<stdio.h>
void main()
{
int q_mark= 0x25;
printf("%c",q_mark);
}

运行
a.exe 屏幕上看到百分号
a.exe > a.txt
文件a.txt 用notepad 打开 看到百分号