首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-02-08 
C++ Primer中的文件打开问题我在照着C++Primer第四版中文版编写其中328页的TextQuery程序,但是程序运行之

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

热点排行