不能将中文写入日志文件中?
下面程序调用writeLogInfo(),如果参数传入是英文,那么文本文件中可以写入传入的字符串,如果参数传入中文,那么就没有写入文件,为什么传入中文不能写入到文件中?
vc6
- C/C++ code
#include "winsock2.h"#include <windows.h>#include "time.h"#include <stdio.h>wchar_t *logFile=L"log.txt";WriteLogFile(wchar_t* fileName,wchar_t *content);void writeLogInfo(wchar_t *info);int main(int argc,char *argv[]){ writeLogInfo(L"hellp");}WriteLogFile(wchar_t* fileName,wchar_t *content){ FILE *fp; if((fp=_wfopen(fileName,L"at+"))!=NULL) { fputws(content,fp); fputwc('\r',fp); fputwc('\n',fp); } fclose(fp);}void writeLogInfo(wchar_t *info){ wchar_t writeInfo[2000]={0}; swprintf(writeInfo,L"%s",info); WriteLogFile(logFile,writeInfo);}[解决办法]
setlocale(LC_ALL,"chs");
if ((fp=_wfopen(fileName,L"at+,ccs=UTF-8"))!=NULL)