CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

关于fstream的一个小问题,小弟在这里先谢谢?

楼主tomsx(...)2003-08-02 02:29:06 在 C/C++ / C语言 提问

//7-4.h  
  #include<string>  
  #include<vector>  
  class   Text{  
           
          vector<string>   vstring;  
          public:  
                  Text();  
                  Text(string);  
                  ~Text();  
                  void   read(string);  
                  string   content();  
  };  
  -----------------------------------------  
  //7-4.cpp  
  //implement   class   Text   in   7-4.h  
  #include"7-4.h"  
  #include<string>  
  #include<fstream>  
  #include<vector>  
  void   Text::read(string   nam){  
          ifstream   in(nam);  
          string   oneline;  
          while(getline(in,oneline))  
                  vstring.push_back(oneline);  
  }  
  string   Text::content(){  
          string   result;  
          for(int   i=0;i<vstring.size();i++){  
                  result=+vstring[i];  
          }  
          return   result;  
  }  
  Text::Text(){}  
  Text::Text(string   name){  
          read(name);  
  }  
  Text::~Text(){}  
  -----------------------------------------  
  //use7-4.cpp  
  #include"7-4.h"  
  #include<iostream>  
  #include<string>  
  using   namespace   std;  
  int   main(){  
          string   name;  
          cout<<"enter   the   file   name   :";  
          cin>>name;  
          Text   fileText;  
          fileText.read(name);  
          cout<<"the   contents   of   the   file   is   :"<<endl;  
          cout<<fileText.content()<<endl;  
  }  
  为什么编译器老是报错呀,真是不明白,如果在void   Text::read(string   nam)中nam是一个具体的文件名的话就可以,难到它不接受变量吗? 问题点数:20、回复次数:4Top

1 楼pushser(捕食者)回复于 2003-08-02 03:07:51 得分 0

C:\\Windows\\system32\\....\\file.cppTop

2 楼StdAfx(任杰)回复于 2003-08-02 03:12:13 得分 20

有下面几个错误:  
   
  ifstream   in(nam);应该是   ifstream   in(nam.c_str());或者ifstream   in(nam.data());  
  result=+vstring[i];应该是   result   +=   vstring[i];  
   
  int   main()应该最后有一个返回值,比如retrun   0;Top

3 楼Areslp(努力ING)回复于 2003-08-02 09:09:16 得分 0

对,ifstream   in(nam.c_str())就可以了Top

4 楼tomsx(...)回复于 2003-08-02 13:05:46 得分 0

谢谢了,通过了Top

相关问题

  • 优先选用fstream还是fwrite(fread)??
  • 小弟在这里先谢了!!
  • 请教,小妹在这里先谢了
  • 请问用fstream如何获得文件的大小?
  • 小妹初学者,用fstream打开txt文件的问题
  • fstream的问题
  • fstream 问题,急!
  • 有关"fstream"问题
  • fstream的标志位
  • 有关 fstream 和 ofstream

关键词

  • oneline
  • read
  • include
  • text

得分解答快速导航

  • 帖主:tomsx
  • StdAfx

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo