比如需要删除t.txt文件中第一列等于6的行。
思路:首先将所有行放到string数组中,然后将第一列信息放到vector中。清空原文件,将除了指定编号的行都放到原文件中。
vectorsplit(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 <



