如何用fwrite写进一个或几个字符串,要求用笔记事打开显示的是乱码.搞了几天还是搞不懂,先谢过啦
发布网友
发布时间:2022-05-16 20:22
我来回答
共5个回答
热心网友
时间:2024-03-01 16:15
写入不可见字符串 用笔记事打开显示是乱码。
下面程序,如果你用 fwrite(str,1,6,fout); 得到的是可见字符(3个unicode符号)
如果你用 fwrite(str2,1,7,fout); ( unicode 移动一个字节),得到的是乱码。
#include<stdio.h>
#include<stdlib.h>
FILE *fout;
int main()
{
char str[16];
char str2[20]="x";
str[0]=0xcb;str[1]=0x25;str[2]=0xcf;str[3]=0x25;str[4]=0xce;str[5]=0x25;
fout = fopen("bbb.txt","wb");
strcat(str2,str);
// fwrite(str,1,6,fout);
fwrite(str2,1,7,fout);
fclose (fout);
return(0);}
热心网友
时间:2024-03-01 16:16
写入不可打印的字符即可。
windows的记事本是一个文本编辑器,能够显示可打印字符。
如果文件的内容是不可打印字符的话,在记事本中显示的将是乱码信息。
热心网友
时间:2024-03-01 16:16
#include "stdafx.h"
#include <stdio.h>
main( )
{
char *p;
FILE *fp;
char str[32]="example";
for(p=str;*p!=0;p++) *p+=129;//将可见字符转换成不可见字符,不一定是加129
fp=fopen("c:\\test\\2.txt","w+") ;
fwrite(str,strlen(str),1,fp);
fclose(fp);
fp=fopen("c:\\test\\2.txt","w+") ;
fread(str,1,strlen(str),fp);
printf("%s\n",str);//在txt中显示的是乱码
for(p=str;*p!=0;p++) *p-=129;//转换成可见字符
printf("%s\n",str);
fclose(fp);
}
热心网友
时间:2024-03-01 16:17
#include<string.h>
int main ()
{
char data[100];
sprintf(data,"%c%c你看的见吗?",0xff,0xfe);
FILE *fp=fopen("dat.txt","wa");
fwrite(data,strlen(data),1,fp);
fclose(fp);
return 0;
}
热心网友
时间:2024-03-01 16:17
写进乱码?不知你说的是怎样的"乱码".要是直接用fwrite写入字符数组的话还是可以看得内容啊