c++怎么显示出 扩展ascii 字符并且写到文本文档中去。

#include "stdio.h"#include<windows.h>main(){int i,j;char a=176,b=219;char namef[]="E:\eeq.txt";FILE *fp;SetConsoleOutputCP(437);if((fp=fopen(namef,"w+"))==NULL){printf("open file ererr!!\n");return 0;}printf("中%c%c%c%c%c\n",b,a,a,a,b);printf("中%c%c%c%c%c\n",a,b,a,b,a);printf("中%c%c%c%c%c\n",a,a,b,a,a);printf("中%c%c%c%c%c\n",a,b,a,b,a);printf("中%c%c%c%c%c\n",b,a,a,a,b);fprintf(fp,"中%c%c%c%c%c\n",b,a,a,a,b);fprintf(fp,"中%c%c%c%c%c\n",a,b,a,b,a);fprintf(fp,"中%c%c%c%c%c\n",a,a,b,a,a);fprintf(fp,"中%c%c%c%c%c\n",a,b,a,b,a);fprintf(fp,"中%c%c%c%c%c\n",b,a,a,a,b);fprintf(fp,"\n---此行作中文小测试用---\n",b,a,a,a,b);} 这里为了测试显示效果,打了中文进去,可以发现显示的都是以256内的标准扩展码显示的,“中”字被识别成了两个码位,上面的eeq.txt我开始的时候写了个数字133,出来也是对应的扩展字符。也就是说SetConsoleOutputCP(437这个函数对文件的命名和程序显示,都达到了预期的效果,但是再看下文本里的文字,可以发现与显示的不太一样,乱码的。加了一行纯中文做测试,正常显示,难道是那个函数不对fprintf起作用?要怎么操作才可以呢?有谁知道怎么把扩展码写进文件中去。看赏!

你想说的是把扩展ASCII字符在屏幕上的显示效果存在文本文件中去吧,比如心形,梅花形,还有你问题中图片上的符号等。文本文件保存的数据,本质上仍然是2进制,所以,你把这些符号的数据存储到文本文件中,存储的是这些符号的2进制值,从这个意义上说,所有符号都是可以写入到文件文件中去的。你在查看文本文件时看不到字符的显示效果,是因为文件编辑器不支持这些特殊字符的显示。并不是这些字符不能写入或写得不正确。
中文能够正常显示,是因为你的操作系统支持中文双字节(多字节)的字符显示(有字库的支持,并且编辑器也支持)。
要想让你的编辑器正确显示扩展ASCII码,选择相应的字库就可以了,当然,编辑器也得支持才行,windows自带的notepad肯定不行了,用ultraedit好像可以。字体可以选用windows系统的consolas。
最后,打开与关闭文件,不管用哪种语言,都是成对出现的,不要学现在的教材上,那些不负责任的作者的写法,只写打开文件,不写关闭文件。
程序最后,加一行fclose(fp);
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-09-20
先提示一个,输出到文件,换行,是\r\n

ASCII大于0xff的字符,是双字节,所以可以转成双字节输出,文件可以二进制。

c++怎么显示出 扩展ascii 字符并且写到文本文档中去。
你想说的是把扩展ASCII字符在屏幕上的显示效果存在文本文件中去吧,比如心形,梅花形,还有你问题中图片上的符号等。文本文件保存的数据,本质上仍然是2进制,所以,你把这些符号的数据存储到文本文件中,存储的是这些符号的2进制值,从这个意义上说,所有符号都是可以写入到文件文件中去的。你在查看文本...

C++怎么输出ASCII码呢?我不是命令行printf的,我要在Edit里显示的。
int TheASC = (int)TheChar;\/\/让TheASC这个int变量的值为TheChar的整数值 Edit1->Text = IntToStr(TheASC);\/\/让Edit1控件的Text属性的值为TheChar值的转换成字串后的样子。

c语言c++:如何让自己的编程软件显示扩展ASC2码?
ASCII编码从0 -- 127,其中前半部分是控制码,后半部分为可显示码。

c\/c++如何保存ascii码格式的文本文件,如何验证是不是ascii码格式...
打开文件来写时,选项中没有 "b" 和 "binary" 时,就是文本文件。例如:fopen("myfile.txt","w")std::fstream fs;fs.open ("myfile.txt", std::fstream::out | std::fstream::app);--- 写好的文件,如何验证是否ascii码格式,要看你的ASCII码值范围的规定。通常的,可读性,非扩展的...

c++怎样输出字符的ASCII码?
思路:先定义字符ch,输入字符,在把字符强制转换成整数就是该字符的ASCII码值,即int(ch)。参考代码: #include<iostream>using namespace std;int main(){char ch;cin>>ch;cout<<int(ch)<<endl;return 0;}\/*运行结果:A65*\/

c++中用哪个函数来查看ascii码值?
vs的话,有个监控窗口,就会显示a数组的里的字符串的ascii码。你可以以十进制看,也可以用十六进制看,在窗口点鼠标右键就可以了,还有楼上说的也是正确的,不过是用十进制打印出来看。

编程实现,在显示器上显示全部标准和扩展ASCⅡ码(其编码为00~FFH...
MOV DH, 00 ;设定起始显示字符对应ASCII码 DIS: MOV DL, 00 ;每次显示ASC前先显示一个空格 MOV AH, 02H INT 21H MOV DL, DH MOV AH, 02H INT 21H INC DH LOOP DIS INT 3 CODE ENDS END START ———版权声明:本文为CSDN博主「TelAntiNomy」的原创文章,遵循 CC 4.0 ...

c++中向文件写数据有哪几种方式
ab+-读写打开一个二进制文件,允许读或在文件末尾追加数据。r+w:可读写文件(具体是二进制文件还是文本文件要看打开文件的扩展名而定)例如:fp=fopen(“C.dat”,“w+b”)文件打开模式只有r、w、a、t、b、+、这六个字符拼成。w:用w打开的文件只能向该文件写入数据(更准确是建立一个新的...

C++中哪个函数是显示字符的ASCII码值的
char c;cin >> c;int a=c;\/\/强制数据类型转换 cout << a << endl;

...将文本文件中的每一个字符及其所对应的ASCII码输出到屏幕上_百度...
这个函数的返回值,是返回所读取的一个字节。如果读到文件末尾或者读取出错时返回EOF。也就是说如果读到了末尾, 返回的是-1;

相似回答