主题:怎样获取外部文件的名称并将其保存在一个字符串中?文件操作?求帮助
_超.C
[专家分:10] 发布于 2011-07-08 22:36:00
怎样获取外部文件的名称并将其保存在一个字符串中?
我想写个程序获取文件的名称,比如获取这个程序所在文件夹中的所有文件或文件夹的名称。
或者定向获取一个文件夹的所有子文件夹或文件的名称。
怎么做呢?求大侠帮忙
我只会建立和删除文件
回复列表 (共3个回复)
沙发
bruceteen [专家分:42660] 发布于 2011-07-09 08:15:00
系统相关,在windows下
获取程序所在文件夹的方法是,GetModuleFileName获取到全路径,_splitpath分解成盘符路径文件名扩展名,_makepath组合盘符和路径;
获取子文件夹或文件的方法是_findfirst, _findnext,_findclose
对于获取程序所在全路径,还可以使用argv[0],不过在一些情况下这未必正确。
板凳
_超.C [专家分:10] 发布于 2011-07-09 15:33:00
谢谢 能给出具体的例子不?
3 楼
cxxcomp [专家分:2370] 发布于 2011-07-13 23:14:00
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);
}
我来回复