J
jnan
Unregistered / Unconfirmed
GUEST, unregistred user!
我使用wifstream::read来读取文本文件的内容(含中文),是否能够保证读取的文本块边缘的汉字不会被截断?
代码如下
wchar_t buf[MAX_SIZE_OF_BUFFER+1]={0};
char buff[(MAX_SIZE_OF_BUFFER+1)*sizeof(wchar_t)]={0};
SourceFileStream.read(buf,MAX_SIZE_OF_BUFFER);
//SourceFileStream是wifstream类型的对象
int num=0;
num=wcstombs(buff,buf,MAX_SIZE_OF_BUFFER);
cout<<buff<<" "<<num<<endl;
执行结果在文本块的边缘仍然会出现乱码的现象。
代码如下
wchar_t buf[MAX_SIZE_OF_BUFFER+1]={0};
char buff[(MAX_SIZE_OF_BUFFER+1)*sizeof(wchar_t)]={0};
SourceFileStream.read(buf,MAX_SIZE_OF_BUFFER);
//SourceFileStream是wifstream类型的对象
int num=0;
num=wcstombs(buff,buf,MAX_SIZE_OF_BUFFER);
cout<<buff<<" "<<num<<endl;
执行结果在文本块的边缘仍然会出现乱码的现象。