问题遇到的现象和发生背景
使用C语言在linux系统读写文件时,不能写入中文,也不能在前端读中文,都是乱码
问题相关代码,请勿粘贴截图
sscanf(Data,"Display=%[^&]&host=%[^&]&HostIP=%[^&]&remarks=%s",szTmpa, szTmpa1,szTmpa2, szTmpa3);
FILE *fp = NULL;
fp = fopen("111.txt","a+");
fprintf(fp,"%s",szTmpa);
fprintf(fp,"%s","|");
fprintf(fp,"%s",szTmpa1);
fprintf(fp,"%s","|");
fprintf(fp,"%s",szTmpa2);
fprintf(fp,"%s","|");
fprintf(fp,"%s",szTmpa3);
fprintf(fp,"\r\n");
fflush(fp);
fclose(fp);
printf("%s%s%s%s",szTmpa,szTmpa1,szTmpa2,szTmpa3);
FILE *fp = NULL;
char *str;
char txt[1000];
int filesize;
fp = fopen("111.txt","a+");
fseek(fp,0,SEEK_END);
filesize = ftell(fp);
str = (char *)malloc(filesize);
str[0]=0;
rewind(fp);
while((fgets(txt,1000,fp))!=NULL){//循环读取1000字节,如果没有数据则退出循环
strcat(str,txt);//拼接字符串
}
fflush(fp);
fclose(fp);
printf("%s",str);