C++ Primer中的文件打开问题
我在照着C++ Primer第四版中文版编写其中328页的TextQuery程序,但是程序运行之后无法用fstream的open函数打开文本文件。不知道问题出在哪里了,代码如下,请大虾们指点!!!
#include <iostream>
#include <fstream>
#include "TextQuery.h "
#include <vector>
#include <string>
#include <set>
#include <map>
ifstream& open_file(ifstream &in, const string &file)
{
in.close();
in.clear();
in.open(file.c_str());
return in;
}
int main(int argc, char **argv)
{
ifstream infile;
if(argc < 2 || !open_file(infile,argv[1]))
{
cerr < < "No input file! " < <endl;
return EXIT_FAILURE;
}
...
}
无论是在VC6.0中设置默认文件名参数还是在cmd中输入文件名,都无法打开文件,总是输出No input file!
[解决办法]
命令行命令:
> ???.exe test.txt
[解决办法]
#include <fstream>
#include <string>
#include <iostream>
#include <cstdlib>
using namespace std;
ifstream& open_file(ifstream &in, const string &file)
{
in.close();
in.clear();
in.open(file.c_str());
if(!in.fail())
{
string str;
getline(in, str);
cout < <str < <endl;
}
return in;
}
int main(int argc, char **argv)
{
ifstream infile;
if(argc < 2 || !open_file(infile,argv[1]))
{
cerr < < "No input file! " < <endl;
return EXIT_FAILURE;
}
system( "pause ");
return 0;
}
test.txt 文件需要运行前存在,因为是输入文件,
测试程序正常 ...
[解决办法]
检查运行时候输入的 第二个参数 指定的文件是否存在。
[解决办法]
检查运行时候输入的 第二个参数 指定的文件是否存在。
=========================
正解之,呵呵^_^,okokok
[解决办法]
程序是对的 把test.txt放程序路径中