//我试图通过调用main函数并将文件名作为参数传递来读取函数内的文件。它在打开文件时给出了一个错误。但是,当我直接传递文件名称file(“file_name”)时,同样工作正常。为什么这样?提前致谢。传递绝对文件名读取C++中的文件
#include<string>
#include<fstream>
void parse(string file_name)
{
ifstream file("file_name"); //opens file
if (!file)
{
cout<<"Cannot open file\n";
return;
}
cout<<"File is opened\n";
file.close(); //closes file
}
int main()
{
parse("abc.txt"); //calls the parse function
return;
}
'ifstream的文件(“FILE_NAME”);'手段打开一个文件名为'“FILE_NAME”'而不是变量'file_name'的内容。如果您在传递'std :: string'并且未使用C++ 11时收到错误,则可能需要使用'file_name.c_str()'。只是猜测,因为你没有发布你的问题中的实际错误。 – 2015-02-09 06:12:30
感谢忍者。有什么可以替代的?如果我想读取文件夹中的所有文件,该怎么办? – 2015-02-09 06:15:11