用c++写了段代码,读文件的,但是报错,在网上搜不到问题,哪位以c++高手帮忙看下,谢谢
报错信息:
error C2079: “file”使用未定义的 class“std::basic_ifstream<_Elem,_Traits>”
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
以下是代码:环境是vs2012
#include <iostream> #include <ios> #include <ostream> #include <iomanip> #include <streambuf> #include <string> #include <iosfwd> #include <fstream> #include <istream> using namespace std; class StuService{ public: void Input(); int Total(); double Average(); }; void StuService::Input(){ char buffer[256]; ifstream file; file.open("d://records.txt"); if(!file){ cout<<"打开records.txt文档异常"; exit(0); } int a,b; int i=0,j=0; while(!file.eof()){ file.getline(buffer,10); sscanf(buffer,"%d %d",&a,&b); cout<<a<<";"<<b<<endl; } file.close(); }; int StuService :: Total(){ return 0; }; double StuService::Average(){ return 0.0; } void main(){ StuService service ; service.Input(); }
#include<iosfwd>
把这行去掉试试吧
像是模板没有实例化,查下 iosfwd 中 ifstream的定义,手头没2012,没法看。
你没说清楚是哪一行报的。。。
令人巨汗,vs2010下边能编译能运行虽然不知道题主想干什么…但是C和C++混合风格的写法是在太丑了…
#include<iostream>#include<fstream>#include<string>#include<sstream>...
inta,b;strings;stringstreamss;while(getline(file,s)){ss<<s;ss>>a>>b;ss.clear();cout<<a<<";"<<b<<endl;}我是初学者,版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。