Здравствуйте miheich, Вы писали:
Может там ошибка, может у тебя. А вот так попробуй (варнингов много будет)
int main(int argc, char* argv[])
{
string from, to;
cin >> from >> to;
ifstream is(from.c_str());
istream_iterator<string> ii(is);
istream_iterator<string> eos;
vector<string> b(1000);
sort(b.begin(),b.end());
ofstream os(to.c_str());
ostream_iterator<string> oo(os,"\n");
unique_copy(b.begin(),b.end(),oo);
return !is.eof() && !os;
}
M>Из книги Страуструпа, стр 97
M>#include <string>
M>#include <iostream>
M>#include <fstream>
M>#include <ostream>
M>#include <istream>
M>#include <iterator>
M>#include <vector>
M>#include <algorithm>
M>using namespace std;
M>int main(int argc, char* argv[])
M>{
M> string from, to;
M> cin >> from >> to;
M> ifstream is(from.c_str());
M> istream_iterator<string> ii(is);
M> istream_iterator<string> eos;
M> vector<string> b(ii,eos);
M> sort(b.begin(),b.end());
M> ofstream os(to.c_str());
M> ostream_iterator<string> oo(os,'\n');
M> unique_copy(b.begin(),b.end(),oo);
M>
M> return !is.eof() && !os;
M>}
M>при компилировании дает
M>C:\Maxim\Project\VC\Stroustrup\example2_383\example2_383.cpp(33) : error C2664: '__thiscall std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct
M>std::char_traits<char>,class std::allocator<char> > > >::std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::a
M>llocator<char> > > >(unsigned int,const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,const class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > &)
M>' : cannot convert parameter 1 from 'class std::istream_iterator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,char,struct std::char_traits<char> >' to 'unsigned int'
M> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
M>C:\Maxim\Project\VC\Stroustrup\example2_383\example2_383.cpp(37) : error C2664: '__thiscall std::ostream_iterator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,char,struct std::char_traits<char> >::std::ostr
M>eam_iterator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,char,struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,const char *)' : cannot convert parameter 2 fro
M>m 'const char' to 'const char *'
M> Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
M>Error executing cl.exe.
M>example2_383.obj — 2 error(s), 0 warning(s)