在windows系統下將一個含有中文的字符串緩存寫入指定路徑下的文本文件中,假如採用_wfopen(),fwprintf()方式寫入,務必在調用fwprintf()以前加上_wsetlocale(0, L
"chs"
);這句,不然系統不支持,寫出來的文本文件會是亂碼或者問號字串。
windows
示例代碼以下:緩存
FILE* fp = _wfopen(L"Data.txt",L"a+"); if(fp == NULL) { return false; } _wsetlocale(0,L"chs");//務必加上不然生成的文本是問號字符串 fwprintf(fp,L"%s\n",L"中文字符串寫入文本"); fclose(fp); char strline[1024] = {0}; fscanf(fp, "%[^\n]%*c", strline);//fscanf跨過空格讀取整行的代碼。格式化中使用了正則匹配