简单的C++有关问题,得到文件夹下所有文件名
简单的C++问题,得到文件夹下所有文件名
getlasterror返回3是路径不对,我想问问是我写错了么,要怎么写,当然也希望能有更好的方法,谢谢!
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
#include <vector>
#include "iislog.h"
#include <windows.h>
#include <io.h>
#include <stdio.h>
#include <tchar.h>
using namespace std;
int main()
{
vector<string> flist;
char *path = "C:\\wamp";
cout << "PLease input your log path(such as \"C: \\windows\\* \")" << endl;
//cin >> path;
HANDLE file;
WIN32_FIND_DATA fileData;
char line[1024];
wchar_t fn[1000];
mbstowcs(fn,(const char*)path,999);
file = FindFirstFile(fn, &fileData);
if (file == INVALID_HANDLE_VALUE)
{
printf ("FindFirstFileEx failed (%d)\n", GetLastError());
exit(1);
}
FindNextFile(file, &fileData);
while(FindNextFile(file, &fileData)){
wcstombs(line,(const wchar_t*)fileData.cFileName,259);
flist.push_back(line);
}
for(int i = 0;i < flist.size(); ++i)
cout << flist[i];
system("pause");
return 0;
}
------解决方案--------------------
char *path = "C:\\wamp\\*";
你的冒号竟然写的中文冒号....
getlasterror返回3是路径不对,我想问问是我写错了么,要怎么写,当然也希望能有更好的方法,谢谢!
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
#include <vector>
#include "iislog.h"
#include <windows.h>
#include <io.h>
#include <stdio.h>
#include <tchar.h>
using namespace std;
int main()
{
vector<string> flist;
char *path = "C:\\wamp";
cout << "PLease input your log path(such as \"C: \\windows\\* \")" << endl;
//cin >> path;
HANDLE file;
WIN32_FIND_DATA fileData;
char line[1024];
wchar_t fn[1000];
mbstowcs(fn,(const char*)path,999);
file = FindFirstFile(fn, &fileData);
if (file == INVALID_HANDLE_VALUE)
{
printf ("FindFirstFileEx failed (%d)\n", GetLastError());
exit(1);
}
FindNextFile(file, &fileData);
while(FindNextFile(file, &fileData)){
wcstombs(line,(const wchar_t*)fileData.cFileName,259);
flist.push_back(line);
}
for(int i = 0;i < flist.size(); ++i)
cout << flist[i];
system("pause");
return 0;
}
C++
Windows
------解决方案--------------------
char *path = "C:\\wamp\\*";
你的冒号竟然写的中文冒号....