箭头在哪里,如果不是字符串 si,而是写存储在字符串 s 中的内容(“C:/Users/John/Desktop/mama/*”)它运行良好,但我需要像这样使用它,因为我将从用户。我怎样才能使它与字符串一起工作?错误:错误 1 错误 C2664:“FindFirstFileA”:无法将参数 1 从“std::string”转换为“LPCSTR”
同样在此错误之前出现了另一个类似的错误,我将字符集从 Unicode 更改为未设置以使其工作。这种变化会给我的主要项目带来麻烦吗?这是一个测试,当它可以时我会将它添加到我的哈希表项目中!感谢您的时间 :)
#include <windows.h>
#include <iostream>
#include <fstream>
#include <string>
#include <tchar.h>
#include <stdio.h>
using namespace std;
struct pathname
{
string path;
pathname *next;
};
int main()
{
pathname *head = new pathname;
pathname *temp = head;
WIN32_FIND_DATA fData;
string s = "C:/Users/John/Desktop/mama/*";
void * handle = FindFirstFile( s, &fData ); //<~~~~~~
FindNextFile(handle, &fData);//meta apo auto emfanizei ta onomata
FindNextFile(handle, &fData);
temp->next = 0;
temp->path = fData.cFileName;
while (FindNextFile(handle, &fData) != 0) //swsto listing
{
temp->next = new pathname;
temp = temp->next;
temp->next = 0;
temp->path = fData.cFileName;
}
temp = head;
cout <<"edw arxizei" <<endl;
while(temp != 0)
{
cout << temp->path << endl;
temp = temp->next;
}
system("pause");
}