注册 登录
编程论坛 C++教室

文件读写_fstream,讨论!

奇人天狼 发布于 2008-01-08 12:42, 782 次点击
求助:
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
//////////////////////////////////////////////////////////////
void main()
{
    char* a="JUST DO IT!";
    char str[100];
    char* b=str;
    char ch;
    int i=0;
    fstream f("number.dat",ios::out);
    f<<"I can do it!"<<'\n'<<"成功!"<<'\n'<<a;
    f.close();
/*while(!f_o.eof())
    {
        i++;
    }*/
f_o.get(b,100,f_o.eof());
cout<<b<<endl;
    f_o.close();
}
为什么,我把/*....*/中的内容加进去,程序就不行了呢?
我是想让while循环算出文件总共的字符数i,然后在后面
f_o.get(b,100,f_o.eof());语句中的100就可以换成i了,因为事先不知道文件的长度。
哪位大虾知道是什么原因啊?
5 回复
#2
linsua2008-01-08 14:10
f_o是什么东西?没见你声明啊
#3
奇人天狼2008-01-08 14:42
写掉了,还要在f.close();后面加一句:ifstream f_o("number.dat");
我编译时是有那一句的,但是不行的。编译时不报错,运行也没结果。
怎么回事哦?
#4
linsua2008-01-08 14:50
在while循环后加一句:
f_o.seekg(0,ios::beg);
来返回文件开头。
我有事先走了
#5
奇人天狼2008-01-08 16:51
还是不行哦~~~~~~~~~~~~~~
#6
奇人天狼2008-01-08 20:13
终于知道了
在f_o.seekg(0,ios::beg);语句前面还要加句:f_o.clear();来清除前面的指针标志。
1