杀鸡四天王 发表于 2007-9-18 03:55:47

[求助]关于文件夹的问题

Q1:如何判定某一个文件夹是否存在呢?在网上查到说是使用DirectoryExists,但是这个东西根本就没有被定义,是要使用什么头文件吗= =?

Q2:如何获取某个文件夹中所有文件的文件名呢?

Q3:如何复制文件呢(土方法只能复制文档类型的文件,但是对exe之类的都不行。)?

PS:我用的是VC。

shawind 发表于 2007-9-18 11:07:02

1.DirectoryExists是bcb中的函数,vc里面没法用
vc里用winapi, #inlcude "windows.h" 吧,然后是
UINT GetWindowsDirectory(LPTSTR lpBuffer, UINT uSize )
作用是获取目录名,返回值为0,可以判断目录不存在
2.api函数里有HANDLE FindFirstFile(LPCTSTR lpFileName, LPWIN32_FIND_DATA lpFindFileData,LPHANDLE lpFileAttribute);
和BOOL FindNextFile(HANDLE hFindFile, LPWIN32_FIND_DATA lpFindFileData);
组合使用即可.
3.试试api函数 BOOL CopyFile(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName,BOOL bFailIfExists );

杀鸡四天王 发表于 2007-9-18 11:24:27

谢谢,我去试试看-0-)/~

lw 发表于 2007-9-18 21:49:04

建议用命令行比较方便:
if not exist "$(dir)" ...

即可

杀鸡四天王 发表于 2007-9-18 22:13:57

引用第3楼lw于2007-09-18 21:49发表的:
建议用命令行比较方便:
if not exist "$(dir)" ...

即可

= =|||这个怎么用呢……
目前所使用的方法(超级土法):
char str;
char orgstr;
std::string bun;
GetCurrentDirectory(100,str);
GetCurrentDirectory(100,orgstr);
bun = str;
bun.append("/");
bun.append(XXX(要判定存在的文件夹名));
sprintf(str,"%s",bun.c_str());
if(!SetCurrentDirectory(str))
{
    XXX(制造文件夹);
}
else
{
    SetCurrentDirectory(orgstr);
    XXX(提示说文件夹已经存在);
}

john_he 发表于 2007-9-18 22:41:29

GetWindowsDirectory是获取WINDOWS的安装目录……

正路是是用FindFirstFile然后判断返回的是文件还是文件夹……

杀鸡四天王 发表于 2007-9-18 22:51:16

引用第5楼john_he于2007-09-18 22:41发表的:
GetWindowsDirectory是获取WINDOWS的安装目录……

正路是是用FindFirstFile然后判断返回的是文件还是文件夹……

看了一下关于FindFirstFile的API函数,里面的那个WIN32_FIND_DATA应该算是什么类的东西?

如果我打开了一个文件夹,但是我并不知道里面有什么文件存在,这样FindFirstFile不是失去效用了吗……?

杀鸡四天王 发表于 2007-9-19 00:47:42

问题2也搞定了……

john_he 发表于 2007-9-19 17:36:13

WIN32_FIND_DATA是一个预定义的结构,#include <windows.h>就可以用,里面是返回找到的文件/文件夹的属性用的。

如果我打开了一个文件夹,但是我并不知道里面有什么文件存在,这样FindFirstFile不是失去效用了吗……?你是想实现怎么样的功能?

杀鸡四天王 发表于 2007-9-20 00:38:07

引用第8楼john_he于2007-09-19 17:36发表的:
WIN32_FIND_DATA是一个预定义的结构,#include <windows.h>就可以用,里面是返回找到的文件/文件夹的属性用的。

你是想实现怎么样的功能?

就是在不知道文件夹里有什么文件的情况下知道这个文件夹里所有文件的文件名……后面发现,原来只要简单的一个"*"就可以了= =|||……然后就可以一直用FindNextFile。
页: [1] 2
查看完整版本: [求助]关于文件夹的问题