读书人

C++ Primer中的文件打开有关问题

发布时间: 2012-02-08 19:52:21 作者: rapoo

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放程序路径中

读书人网 >C++

热点推荐