回 帖 发 新 帖 刷新版面

主题:怎样获取外部文件的名称并将其保存在一个字符串中?文件操作?求帮助

怎样获取外部文件的名称并将其保存在一个字符串中?
   
  我想写个程序获取文件的名称,比如获取这个程序所在文件夹中的所有文件或文件夹的名称。
或者定向获取一个文件夹的所有子文件夹或文件的名称。


怎么做呢?求大侠帮忙

我只会建立和删除文件

回复列表 (共3个回复)

沙发

系统相关,在windows下
获取程序所在文件夹的方法是,GetModuleFileName获取到全路径,_splitpath分解成盘符路径文件名扩展名,_makepath组合盘符和路径;
获取子文件夹或文件的方法是_findfirst, _findnext,_findclose

对于获取程序所在全路径,还可以使用argv[0],不过在一些情况下这未必正确。

板凳

谢谢 能给出具体的例子不?

3 楼

on win32, 试试 

        WIN32_FIND_DATA fd;
        HANDLE hFind = ::FindFirstFile(_T("*.*"), &fd);
        if (hFind != INVALID_HANDLE_VALUE)
        {
            do 
            {
                if (!(fd.dwFileAttributes &  FILE_ATTRIBUTE_DIRECTORY))
                {
                    std::cout << "File : " << fd.cFileName << std::endl;
                }
            } while (::FindNextFile(hFind, &fd));
            ::FindClose(hFind);
        }

我来回复

您尚未登录,请登录后再回复。点此登录或注册