netmax
14-05-2003, 06:54
Есть два потока. Один ввода другой вывода. Оба связаны с одним и темже фалом.
почему-то не пишуться/не читаются числа с плавающей запятой.
вот пример
ofstream temp1;
ifstream temp2;
double val;
int i;
temp1.open("1.tst");
for(i = 0; i < 61; i++) {
val = i + 0.71;
temp1.write((char*)&val, sizeof(val));
}
temp1.close();
temp2.open("1.tst");
for (i = 0; i < 61; i++) {
temp2.read((char*)&val, sizeof(val));
cout << val << endl;
}
temp2.close();
причем что особо интересно. первые 4 числа и пишуться и читаются нормально а потом начинается ...
Если писать целые числа все OK.
В чем дело?
почему-то не пишуться/не читаются числа с плавающей запятой.
вот пример
ofstream temp1;
ifstream temp2;
double val;
int i;
temp1.open("1.tst");
for(i = 0; i < 61; i++) {
val = i + 0.71;
temp1.write((char*)&val, sizeof(val));
}
temp1.close();
temp2.open("1.tst");
for (i = 0; i < 61; i++) {
temp2.read((char*)&val, sizeof(val));
cout << val << endl;
}
temp2.close();
причем что особо интересно. первые 4 числа и пишуться и читаются нормально а потом начинается ...
Если писать целые числа все OK.
В чем дело?