Здравствуйте Odi$$ey, Вы писали:
O$>Здравствуйте grs, Вы писали:
grs>>Так должно работать:
grs>> [code]
grs>> filebuf *buf = destfile->rdbuf();
grs>> ostreambuf_iterator<char> outfile_iter(buf);
grs>> copy( v.begin(), v.end(), outfile_iter );
grs>> [\code]
O$>хм, пишется-то оно пишется, только с данными что-то происходит, толи байты местами меняются, толи еще что-то, буду разбираться.
Каюсь, не будет это работать для int, тормознул вчера, с кем не бывает. В качестве компенсации привожу еще вариант решения проблемы (это точно работает, проверял).
[code]
template <class T>
class writeFile
{
private:
ofstream* f;
public:
writeFile(ofstream* _f){f=_f;};
void operator()(const T& value)
{
f->write((const char*)&value, sizeof(T));
};
};
int main(int argc, char* argv[])
{
int a[] = {200,11345, 243, 12, 8};
vector<int> v(a, a+5);
ofstream f("
d:/temp/test.txt", ios_base::binary|ios_base::out|ios_base::trunc);
writeFile<int> wf(&f);
for_each(v.begin(), v.end(), wf);
return 0;
}
[\code]