当前位置: 技术问答>linux和unix
Linux下C程序如何将宽字符数据正确写入文件不当中去????
来源: 互联网 发布时间:2016-05-11
本文导语: wchar_t wcsData[1024];中存有含有汉字的数据. FILE *fSaveFile; 想将此宽字符型数据存到文件当中去,但不知如何实现,要求汉字在文件中正确显示,请高手指教,3Q!!! 1.Linux版本:企业版4 2.编辑环境:vim 3.汉字格式:simplex.shx 4.最好给...
wchar_t wcsData[1024];中存有含有汉字的数据.
FILE *fSaveFile;
想将此宽字符型数据存到文件当中去,但不知如何实现,要求汉字在文件中正确显示,请高手指教,3Q!!!
1.Linux版本:企业版4
2.编辑环境:vim
3.汉字格式:simplex.shx
4.最好给出代码,易懂!!!
FILE *fSaveFile;
想将此宽字符型数据存到文件当中去,但不知如何实现,要求汉字在文件中正确显示,请高手指教,3Q!!!
1.Linux版本:企业版4
2.编辑环境:vim
3.汉字格式:simplex.shx
4.最好给出代码,易懂!!!
|
simplex.shx是CAD字体没有用过,不知道怎么回事,不过正确显示汉字和字体没有关系的,一般只和字符集有关。将缓冲区中的内容存在文件也可以,只是使用printf等API时可能有问题。linux下有个wchar.h,其中wprintf可能适合,试试看。
wchar_t wcsData[1024] ;
FILE *fSaveFile ;
int rtn ;
if((fSaveFile = fopen("wchar" , "wb")) == NULL)
return ;
if((rtn = fwrite(wcsData , 1 , sizeof(wcsData) , fSaveFile)) != sizeof(wcsData))
printf("存储错误,rtn = %d n" , rtn) ;
fclose(fSaveFile) ;
直接使用fwrite就可以避免宽字符的影响。如果你的字符集为utf-8/iso8859-1/ascii等,用fprintf也没有关系,如果
用utf-8等字符集估计就有关系了。
wchar_t wcsData[1024] ;
FILE *fSaveFile ;
int rtn ;
if((fSaveFile = fopen("wchar" , "wb")) == NULL)
return ;
if((rtn = fwrite(wcsData , 1 , sizeof(wcsData) , fSaveFile)) != sizeof(wcsData))
printf("存储错误,rtn = %d n" , rtn) ;
fclose(fSaveFile) ;
直接使用fwrite就可以避免宽字符的影响。如果你的字符集为utf-8/iso8859-1/ascii等,用fprintf也没有关系,如果
用utf-8等字符集估计就有关系了。