删除文本的最后一行 代码(C++)
本文地址: http://blog.csdn.net/caroline_wendy
读取文本的每行("\n"), 存储入数组vector<string>, 输出时, 少输出最后一行, 即可.
代码:
/*
* main.cpp
*
* Created on: 2014.06.08
* Author: Spike
*/
/*vs 2012*/
#include <windows.h>
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
vector<string> tmp_files;
ifstream infile( "w.txt" );
if (!infile) {
cout << "fail!" << endl;
return 0;
}
string lineContent;
while ( getline( infile, lineContent, '\n' ) ){
tmp_files.push_back(lineContent + "\n" );
}
infile.close();
ofstream outfile( "w2.txt",ios::out );
vector<string>::iterator siter = tmp_files.begin();
copy( tmp_files.begin(), tmp_files.end()-1, ostream_iterator<string>(outfile) );
cout << "ok!" << endl;
outfile.close();
return 0;
}
输出:
原始文本(w.txt):
Female
Sister
Girl
Woman
Old Woman
输出文本(w2.txt):
Female
Sister
Girl
Woman