栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++删除txt文件中指定行

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++删除txt文件中指定行

1、问题描述

比如需要删除t.txt文件中第一列等于6的行。

2、代码

思路:首先将所有行放到string数组中,然后将第一列信息放到vector中。清空原文件,将除了指定编号的行都放到原文件中。

vector split(string s,char c){
    vector re;
    for(int i = 0; i < s.size(); i++){
        string t="";
        while(i
            t+=s[i];
            i++;
        }
        re.push_back(t);
    }
    return re;
}

void delete_line(int id){
    string G[1000];

    int k = 0;
    char buffer[256];
    fstream out;
    out.open(p,ios::in);
    while(!out.eof())
    {
        out.getline(buffer,256,'n');//getline(char *,int,char) 表示该行字符达到256个或遇到换行就结束
        G[k++] = buffer;
    }
    out.close();


    vector re[1000];

    for(int i = 0; i < k; i++){
        re[i] = split(G[i],' ');
    }

    string ID = to_string(id);
    //清空原文件
    ofstream clear;
    clear.open(p,ios::out);
    clear.close();

    for(int i = 0; i < k; i++){
        if(ID == re[i][0]){
            continue;
        }else{
            ofstream file;
            file.open(p,ios::app);
            file <
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/853580.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号