今天幫一位同學用曹自強同學解決了http://student.csdn.net/space.php?uid=42616&do=thread&id=2837一文的反向輸出序列內容問題,利用copy演算法加流迭代器,只用了一行代碼,特此總解了一下流迭代器的一些經典用法。用好了真的很強大,希望對有需要的同學有協助
//利用流迭代器填充vector
{
ifstream in("test.txt");
istream_iterator<string> ibegin(in);
istream_iterator<string> iend;
vector<string> vec(ibegin, iend);
copy(vec.begin(), vec.end(), ostream_iterator<string>(cout, "/n"));
}
//利用輸入資料流填充vector
{
vector<string> vec;
copy(istream_iterator<string>(cin), istream_iterator<string>(), back_inserter(vec));
sort(vec.begin(), vec.end());
copy(vec.begin(), vec.end(), ostream_iterator<string>(cout,"/n"));
}
//利用流迭代器儲存vector內容到檔案
{
ifstream in("test.txt");
istream_iterator<string> ibegin(in);
istream_iterator<string> iend;
vector<string> vec(ibegin, iend);
ofstream out("testcopy.txt");
copy(vec.begin(), vec.end(), ostream_iterator<string>(out, "/n"));
}