我写了一个程序,想读出一个文件夹内的所有文件。
先前我用struct _finddata_t c_file; 只能读出英文文件名,后来改用
struct _wfinddata_t c_file,又把编译选项改为_UNICODE,字符串全用wchar_t,
编译出来,还是读不出中文文件名。急切盼望大虾的帮助

解决方案 »

  1.   

    CFileFind filefind;
    CString string="c:\\*.*";        //可以改成你自己的目录和扩展名
    if(filefind.FindFile(string,0)!=0)
    //if(filefind.FindFile(str,0)!=0)
    {
    while(filefind.FindNextFile()!=0)
    {
    ...   //添加你想实现的代码
    }
    ...//添加你想实现的代码(这里是找到最后一个符合要求的文件时的)
    }
      

  2.   

    3ks,这个我也明白。
    但是读出来后,用printf或wprintf显示不出来。
      

  3.   

    我的系统支持多语言,连韩文,日文也能显示.
    下面是我写的一个小测试程序:
    #include <stdio.h>int main()
    {
    wchar_t *buff=L"Hello,朋友"; wprintf(L"%ls",buff);
    return 0;
    }
    "朋友" 就是显示不出来.
    谁知道是怎么回事?
      

  4.   

    不用wchar_t类型的变量,直接用char *的就行了啊。
    #include <stdio.h>int main()
    {
    char *buff="Hello,朋友"; printf("%s",buff);
    return 0;
    }