下面是我从网上找到的一个关于获得一个文件夹下所有文件的函数,
void Fget_filename(char *fdirectoryPath, char *filename_array[], int &file_num)
{
WIN32_FIND_DATA data; //is FindFirstFile Parameters
HANDLE hFind;
int nCount = 0;
char filenm[256];
memset(filenm,0,256);
strcpy(filenm,fdirectoryPath);
strcat(filenm,"*.*"); //查找当前目录下所有文件
hFind = FindFirstFile(filenm,&data);
while (hFind != INVALID_HANDLE_VALUE)
{
strcpy(filename_array[nCount],data.cFileName);
nCount++;
if (!FindNextFile(hFind,&data))
{
CloseHandle(hFind);
hFind = INVALID_HANDLE_VALUE;
}
file_num = nCount;
}}
在我引用它的时候发现总是在
strcpy(filename_array[nCount],data.cFileName);
这个地方出错,请高手拔刀相助~~
void Fget_filename(char *fdirectoryPath, char *filename_array[], int &file_num)
{
WIN32_FIND_DATA data; //is FindFirstFile Parameters
HANDLE hFind;
int nCount = 0;
char filenm[256];
memset(filenm,0,256);
strcpy(filenm,fdirectoryPath);
strcat(filenm,"*.*"); //查找当前目录下所有文件
hFind = FindFirstFile(filenm,&data);
while (hFind != INVALID_HANDLE_VALUE)
{
strcpy(filename_array[nCount],data.cFileName);
nCount++;
if (!FindNextFile(hFind,&data))
{
CloseHandle(hFind);
hFind = INVALID_HANDLE_VALUE;
}
file_num = nCount;
}}
在我引用它的时候发现总是在
strcpy(filename_array[nCount],data.cFileName);
这个地方出错,请高手拔刀相助~~
解决方案 »
- 求助:如何把一个socket对象定义为临界区,使同一时刻只有一个线程可以从该socket通道中发送或读取数据?
- 在VB中很容易的事,用VC如何实现. 寻求代码
- 一个MFC的小问题!
- 请教高手! 有关串口的
- 声卡的优先设定
- 关于静态链接的问题
- COM 中用ATL 数据库的连接,急急急急,用 ADO方式 ODBC 的连接,在SQLServer中会了,但在 其的数据库 如:Oracle 或其数据库
- 怎样在vc的客户窗口中自定义坐标,各位大哥请帮忙:)
- 如何使用CAsyncSocket 派生类发送大批数据?
- 偶整理了一点VC++比较经典的问答,who想要???????????
- 调用Dll控件时,图标为空?
- 请教实现图层的方法?
使用CStringArray的Add方法添加,不要用strcpy
那么使用之前你要先分配内存空间阿
filename_array[0]=new char[_MAX_PATH];
还是建议你使用CStringArray,简单方便
filename_array[nCount]原始为定义char *filename_array[256],为char*
后面的data.cFileName为TCHAR
类型不一致~~
要进行转化的~~~