How about
#include <iostream>
#include <iterator>
#include <algorithm>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
struct Line
{
string lineData;
operator string() const
{
return lineData;
}
};
std::istream& operator>>(std::istream& str,Line& data)
{
getline(str,data.lineData);
return str;
}
int main(int argc, const char * argv[])
{
ifstream ifile(argv[1]);
ofstream ofile(argv[2]);
vector<string> data;
copy(istream_iterator<Line>(ifile), istream_iterator<Line>(), back_inserter(data));
sort(data.begin(), data.end());
copy(data.begin(),data.end(), ostream_iterator<string>(ofile, "\n"));
return 0;
}
And to inform everyone. Cling as a C++ REPL exists. http://root.cern.ch/drupal/content/cling