• 6438阅读
  • 7回复

【提问】请教用Qt的 QDir 取一个目录下所有的文件,但是取不到有汉字的文件名。(linux能显示中文) [复制链接]

上一主题 下一主题
离线guo0084
 
只看楼主 倒序阅读 楼主  发表于: 2005-09-21
如提
离线XChinux

只看该作者 1楼 发表于: 2005-09-21
Re:【提问】请教用Qt的 QDir 取一个目录下所有的文件,但是取不到有汉字的文件名。(
那些汉字 是GB编码的吧??那需要你进行编码转换的。Qt里显示用的是UTF的
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线eaman

只看该作者 2楼 发表于: 2006-01-16
XChinux,请问题如何让它自己自动进行编码转换?
离线XChinux

只看该作者 3楼 发表于: 2006-01-16
Re:【提问】请教用Qt的 QDir 取一个目录下所有的文件,但是取不到有汉字的文件名。(
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线yuanxt71

只看该作者 4楼 发表于: 2006-02-05
XChinux,取出目录,然后过滤掉有中文的文件名即可!!
离线zn2006
只看该作者 5楼 发表于: 2006-04-28
我也遇到此问题,
我用linux自带函数来实现
DIR *dirp;
if((dirp=opendir("/testDir/testDir"))==NULL)
  {
    printf("open dir error\n");
    return;
  }
while((direntp=readdir(dirp))!=NULL)
  {    

    sprintf(dataBuf, "%s/%s","/testDir/testDir",direntp->d_name);
   
    if(stat(dataBuf, &statbuf)==-1)
    {
        continue;
    }
    if(!S_ISREG(statbuf.st_mode)) /*不是普通文件跳过*/
    {
        continue;
    }
   
    QListViewItem * item = new QListViewItem( fileList);    
    item->setText( 0, tr(direntp->d_name));

         
  }
离线shiroki

只看该作者 6楼 发表于: 2006-04-29
这个问题我记得回答过, 搜搜老帖子应该能找到
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线shuishen
只看该作者 7楼 发表于: 2006-10-20
引用第4楼yuanxt712006-02-05 06:34发表的“”:
XChinux,取出目录,然后过滤掉有中文的文件名即可!!


怎么过滤?
快速回复
限100 字节
 
上一个 下一个