工具:去除文件的行号

前言

 在CSDN等网站上我们复制了代码总会遇到这样的情况,前面加了一个行号及一个点。
 处理方法是有,在编辑器里面按住alt然后拖动就能够删除行号及那个点了,然而,我们也可以自己制作工具去删除那个行号和那个点

方法思路

 把复制的代码放进记事本里面,然后它里面每行前几个都是行号加代码,利用文件读取,读取每行进字符串里面,然后再查找每行,找到.的位置对字符串进行相应处理然后再写进文件即可

附上相关代码

 我是把需要去除行号的文本放在d盘下,其名称为 文件.txt
#include <iostream>
#include <fstream>
#include <string>
#define len 100
using namespace std;
struct file{    
    char s[len];//这个结构里面存储每行的字符串
    int value;  //存储行号
}F[1000];
void CutLine(struct file *F,int count){//去除行号
    for(int i=1;i<count;i++){
        for(int j=0;j<100;j++){
            if(F[i].s[j]=='.'){  //找到.的位置然后将字符串覆盖掉
                for(int k=j+1;k<100;k++){
                    F[i].s[k-(j+1)] =F[i].s[k];
                }
            }
        }
    }

    fstream f1("d:\\文件.txt",ios::out);
    if(!f1) cout<<"mistake";
    for(i=1;i<count;i++){
        f1<<F[i].s<<endl;
    }
    f1.close();
}
void AddLine(struct file *F,int count){//加上行号和.(只要主函数里面打开的是没有行号和点的文件即可)
    fstream f("d:\\添加行号的文件文件.txt",ios::out);
    for(int i=1;i<count;i++){
            f<<F[i].value<<". "<<F[i].s<<endl;
    }
    f.close();
}
int main()
{   
    int count=1;
    //下面代码会把文件每行内容读入内存
    fstream f("d:\\文件.txt",ios::in |ios::out);
    if(!f){cout<<"mistake";}
    while(!f.eof()){
        f.getline(F[count].s,len);
        F[count].value=count;
        count++;
    }   
    f.close();  
    CutLine(F,count);//去除行号
    return 0;
}

附上程序运行结果截图:
运行前:这里写图片描述

运行后:这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值