解决方案 »
- mfc对话框控件美化时出了一点问题
- Vista下抓屏为何是黑屏.
- VC中如何开立方?
- CFormView如何接收其Edit子窗口的Enter(回车)事件?
- 系统钩子只能得到自己程序的消息!求教!非常简单的问题
- bcg向导做的编辑器时(基类为CBCGPEditView)会出现乱码,特别是中文乱码。
- 关于虚拟列表的问题
- 在线急问:多视图程序中如何消除弹出的选择视图的对话框,以便自己在程序中控制显示哪个视?
- pictrue控件的问题,虽然简单,但我被卡住了,急问
- 如何让程序运行的时候没有边框??
- VS2008 无法定位程序输入点RegSetKeyValueA与动态链接库ADVAPI32.dll上
- VC中%.*s是什么意思?
http://bbs.csdn.net/topics/390337515
你手写的,应该是ANSI,而程序里是UTF-8。
是不是写的问题啊,导致字符集和读的时候不统一
void Write()
{
FILE* fp = NULL;
fopen_s(&fp,"text.txt","w");
if(fp == NULL)
return;
for(int k = 1; k <= 10; k++)
fwprintf_s(fp,L"%d 中文 + English \n",k);
fclose(fp);
}void Read()
{
FILE* fp = NULL;
fopen_s(&fp,"text.txt","r");
if(fp == NULL)
return;
wchar_t buffer[256];
while( ! feof(fp))
{
fgetws(buffer,sizeof(buffer),fp);
wprintf_s(L"%s \n",buffer);
}
fclose(fp);
}在使用之前先调用 _wsetlocale(LC_ALL,L"chs"); 设置语言。
测试oK。(有个小问题,读取时最后一行看似读了2次,其实是因为在写的时候,都加了换行,所以最后一行其实是空的,但是buffer又没有清空,所以才会输出2次)
把读改成了fgetws((wchar_t *)buff, 22, m_fpset);怎么还是不好使呢
比如strlen和wcslen。