fstream逐行读取内容并写入

#include <string>
#include <vector>
#include <map>

int _tmain(int argc, _TCHAR* argv[])
{
    std::fstream File;
    File.open("E:\\茂名石化错误码.txt");
    std::vector<std::string> vecErrorCode;
    std::map<std::string, int> mapErrStatistics;
    while (!File.eof())
    {
        std::string strErrCode = "";
        char szErrCode[256];
        // 以下两种写法都可
        //inFile.getline(szErrCode, 256, '\n');
        std::getline(File, strErrCode);
        vecErrorCode.push_back(strErrCode);
    }
    File.close();
    // 保存统计信息
    File.open("E:\\错误统计表.csv", std::ios::binary | std::ios::out);
    for (auto itrMap:mapErrStatistics)
    {
        File << itrMap.first << ',' << itrMap.second << std::endl;
    }
    File.close();
	return 0;
}

ios::app:    //以追加的方式打开文件
ios::ate:    //文件打开后定位到文件尾,ios:app就包含有此属性
ios::binary:  //以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文
ios::in:    //文件以输入方式打开(文件数据输入到内存)
ios::out:    //文件以输出方式打开(内存数据输出到文件)
ios::nocreate: //不建立文件,所以文件不存在时打开失败
ios::noreplace://不覆盖文件,所以打开文件时如果文件存在失败
ios::trunc:  //如果文件存在,把文件长度设为0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值