首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

用c++函数实现写utf8文件(带bom)解决方案

2013-10-18 
用c++函数实现写utf8文件(带bom)char strValue[] {\num\:0}FILE *pfd fopen( JSONPATH, w )//

用c++函数实现写utf8文件(带bom)

char strValue[] = "{"num":0}";
FILE *pfd = fopen( JSONPATH, "w" );//会自动清空原有文件
char achUTF8[3]={0xEF, 0xBB, 0xBF};
fwrite(achUTF8, sizeof(1), sizeof(achUTF8), pfd);
//fwrite(strValue, 1, strlen(strValue), pfd);
fprintf(pfd, "%s", strValue); 
fclose(pfd);


打开文件后的确是utf8的但是 {"num":0}之前有9个xCC,请xCC怎么产生的?怎么去掉
[解决办法]

引用:
太粗心了, sizeof(1) ,等人来领分

楼上正解,fwrite(achUTF8, sizeof(1), sizeof(achUTF8), pfd)中,写入字节数为sizeof(1)*sizeof(achUTF8),sizeof(1)相当于sizeof(int),所以写入的字节数是12,多了9个xCC

热点排行