用了半天把问题搞定,问题描述.
1.有一个的uniocde文档,用fopen(path,"r")打开后,然后用fgetws去读发现根本不是自己想要的字符串,而是每一个字符后面多了一个0,如果我的UNICODE字符串是pro,
示例:
fopen(path,"r");
TCHAR _Tsource_buffer[256];
FILE *P;
fgetws(_Tsource_buffer,256,P);
结果发现_Tsource_buffer的内容是"p","0","r",“0”,“o”,"0",
但为用fread读出来又是"pro",很奇怪,找了半天最后发现fopen打开发现有问题,改为open(path,"rb")才正确,
分析一下,原来以“r”方式打开是以文本形式读文件,相当于以ASCII码读内容,而“rb”是以二进制形式读,fread也是以二进制读。