Cpp_Primer--Chapter8--IO库

IO对象不可以赋值或拷贝-8.1.1

IO流的条件状态8.1.2

控制输出流的缓存–8.1.3

文件输入与输出

  1. 文件被打开后不能再用其它对象来进行打开与操作
  2. 文件模式
文件模式
in以读方式打开
out以写方式打开
app每次写操作前均定位到文件末尾
ate打开文件后立即定位到文件末尾
trunc截断文件?
binary以二进制方式进行IO?

注意: 以out模式打开文件会丢弃已有数据(由于隐含地打开了trunc模式),保存的唯一方式是显示指定app或者in模式
这样才能运行多次后有多次个输入的数据

int main()
{
    fstream a("text.txt",ofstream::out | ofstream::app);
    a<<"dwadaffff\ndwadawda\nffff\nff";
}

string Streams

#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include <sstream>
using namespace std;
bool valid(const string);
struct PersonInfo
{
    string name;
    vector<string>phones;
};

int main()
{
    ifstream in_file("text.txt");
    string line, word;
    vector<PersonInfo> people;


    if (in_file)
    {
        PersonInfo temp_info;
        while (getline(in_file, line))
        {
            istringstream record(line);
            record >> temp_info.name;
            while (record >> word)
            {
                temp_info.phones.push_back(word);
            }
            people.push_back(temp_info);
        }
    }
    else
    {
        cout << "open file fail" << endl;
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值