读书人

非常奇怪的有关问题小妹解决不了

发布时间: 2012-02-25 10:01:47 作者: rapoo

非常奇怪的问题,小妹解决不了。
我用VS2005想做一个非常简单的程序,目的是遍历E:\\wlan目录下的所有文件。这个目录下只有文件,没有其他目录了。我写完程序可以编译,但是运行居然输出的是我这个工程的目录。而不是E:\\wlan。请各位帮我看看。谢谢大家了

程序如下:
// testword.cpp : 定义控制台应用程序的入口点。


#define _WIN32_WINNT 0x0400

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


#include <windows.h>

#include <iostream>
using namespace std;


int main()
{

char fname[] = "E:\\wlan ";
char s[MAX_PATH];

WIN32_FIND_DATA FindFileData;
HANDLE hFind = INVALID_HANDLE_VALUE;

char aim[14];
strncpy (aim, fname, strlen(fname)+1);

strncat (aim, "\\* " ,3);

int n = strlen (aim);

WCHAR wstr[MAX_PATH];
MultiByteToWideChar(CP_ACP, 0, aim, n , wstr, sizeof(wstr));
wstr[n] = '\0 ';

hFind = FindFirstFile( wstr, &FindFileData);

if (hFind == INVALID_HANDLE_VALUE)
{

printf ( " run error!\n ");
exit( GetLastError() );
}

else
{
printf ( "First file name is %s\n ", FindFileData.cFileName);

}

while (FindNextFile(hFind, &FindFileData) != 0)
{
printf ( "First file name is %s\n ", FindFileData.cFileName);
}
return 0;
}


[解决办法]
strncpy (aim, fname, strlen(fname)+1);

strncat (aim, "\\* " ,3);
================
为什么要用 带长度控制的 字符串拷贝/连接??

strcpy (aim, fname);
strcat (aim, "\\* "); //多简单明了~~
[解决办法]
提示说无法讲char*转化为LPCTSTR
可以直接使用强制转换,在VC2005下可以使用 _T();转换
[解决办法]
罕见小妹的问题都没人来解决啊。我昨天试了下,结果是E盘下的目录,估计是你的环境有问题。

[解决办法]
int main()
{

char fname[] = "E:\\ ";
char s[MAX_PATH];

WIN32_FIND_DATAW FindFileData;
HANDLE hFind = INVALID_HANDLE_VALUE;

char aim[14];
strncpy (aim, fname, strlen(fname)+1);

strncat (aim, "\\* " ,3);

int n = strlen (aim);

WCHAR wstr[MAX_PATH];
MultiByteToWideChar(CP_ACP, 0, aim, n , wstr, sizeof(wstr));
wstr[n] = '\0 ';

hFind = FindFirstFileW( wstr, &FindFileData);

if (hFind == INVALID_HANDLE_VALUE)
{

printf ( " run error!\n ");
exit( GetLastError() );


}

else
{
wprintf (L "First file name is %s\n ", FindFileData.cFileName);

}

while (FindNextFileW(hFind, &FindFileData) != 0)
{
wprintf (L "First file name is %s\n ", FindFileData.cFileName);
}
return 0;
}
这个市unicode下的

读书人网 >C++

热点推荐