unicode file


#include <stdlib.h> 
#include <stdio.h> 
#include <locale.h> 
#include <wchar.h> 

int main() 
{ 
// " Unicode " Unicode  
FILE *file = fopen("test.txt","wb"); 
wchar_t wstr[] = L" Unicode "; 
wchar_t strSign = 0xfeff; 
int len = wcslen(wstr); 
fwrite(&strSign,1,2,file); 
fwrite(wstr,1,len*2,file); 
fclose(file); 

// ,  
file = fopen("test.txt","rb"); 
int nFileLen; 
wchar_t buffer[100] = {0}; // , 99  
if(file) 
{ 
fseek(file,0,SEEK_END); 
nFileLen = ftell(file); 
fseek(file,0,SEEK_SET); 
fread(buffer,1,nFileLen,file); 
} 
else 
{ 
printf("file does not exists.
"); getchar(); return 0; } if(buffer[0] == 0xfeff) { printf("it's a Unicode file
");//is unicode char strBuffer[200]={0}; if (!setlocale(LC_ALL, "chs")) { perror("chs"); getchar(); return 0; } wcstombs(strBuffer,&buffer[1] , 200); printf("%s",strBuffer); } else printf("it's not a Unicode file
");//not unicode fclose(file); getchar(); return 0; }

問題は簡単です.1つのファイルはUnicode符号化です.完全な例を書いて、その中の文字が「Unicode符号化です」かどうかを読み込んで判断してください.コンソール出力Yes/Noのプログラムを作成すればよい.vcコンパイルに合格する.