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

c++对文件操作的问题

jingzitakk66 发布于 2010-03-11 09:42, 579 次点击
#include "fstream"
#include "iostream"
using namespace std;

main90
{
    fstream("./a.txt",ios::out|ios::in|ios::trunc);
    if(!f)
    {
        cerr<<"error"<<endl;
        exit(1);
    }
    string str;
    f<<"B";
    f<<"BB";
    f.seekg(ios::beg);
    f>>str;
    cout <<str<<endl;
    f<<"BB";
    cout<<str<<endl;
    f.close();
}
环境为linux gcc
问题:1.c++可否同时以输入输出流打开一个.txt文件(我知道二进制文件可以)。
       2.如果可以,怎么以输入输出流打开一个文件,如果不存在就建立,如果文件存在将把输入添加到文件末尾(我这个程序是直接删除原来内容)
    3.为什么程序运行后a.txt中只有3个B,我觉得是5个,谢谢。
   
4 回复
#2
succubus2010-03-11 14:45
把ios::trunc去掉就不会删除原来的内容了
#3
jingzitakk662010-03-11 15:22
回复 2楼 succubus
去掉也不行的,你可以试一下。呵呵
#4
succubus2010-03-11 15:29
加上fstream::ate(ios::ate)
#5
jingzitakk662010-03-11 15:50
回复 4楼 succubus
已经解决,谢谢大家,不过你们都错了,呵呵
1