1. 程式人生 > >工具:去除檔案的行號

工具:去除檔案的行號

前言

 在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; }

附上程式執行結果截圖:
執行前:這裡寫圖片描述

執行後:這裡寫圖片描述