Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Что-то не получается с fwrite....


Автор: Plotter 8.11.2002, 03:45
Сижу тут значит... пытаюсь разобраться как считывать данные из файла, а также записывать их туда.... до считывания еще не дошел, а вот с записью уже проблемы. В той книге по СИ, которую я читал этот момент не описывался, поэтому пришлось писать все по HELPу... Вот что получилось:
Код

int zifra;
FILE *stream;
char msg[] = "this is a test";
stream=fopen("c:\test.txt", "w");
if (stream != NULL) {fwrite(msg, strlen(msg)+1, 1, stream);};


И что-то оно мне ничего туда не пишет... я так думаю, что stream почему-то равно NULL, но почему понять не могу.... объясните...

Автор: Baa 8.11.2002, 11:11
И правильно... будь я функцией fopen, я бы тоже не открыл такой файл... кто ж так пишет? :) ведь "\" - это управляющий символ... дабы был нормальным надо его удвоить... т.е. написать "\\"
А вообще, под виндами работают не с такими функциями... смотри
CreateFile
WriteFile
CloseHandle

Автор: Plotter 9.11.2002, 08:00
Спасибо, я стормозил... хотя ведь знал это ... просто на Паскале уже привык так писать, вот и тут тоже залепил.... :)

Автор: Plotter 9.11.2002, 08:22
Ладно, с этим разобрался, а вот далее - опять вопрос.... Необходимо из обычного текстового файла выделить некоторое число (пока int)... Пишу:
Код

char msg[] = "32";
stream=fopen("c:\\test.txt", "w");
if (stream != NULL) {fwrite(msg, strlen(msg)+1, 1, stream);};
fclose(stream);

fin=fopen("c:\\test.txt", "rb");
if (fin == NULL) {zifra=0;} else {fread(&zifra,  2, 1, fin);};
fclose(fin);

zifra++;
stream=fopen("c:\\test.out", "w");
if (stream != NULL) {fwrite(&zifra, 2, 1, stream);};
fclose(stream);

Т.е я создаю текстовый файл, в котором нах число 32, далее считываю это число, прибавляю к нему 1 и записываю результат в другой файл..., но получается не то, что надо ... в ответе вместо 33 есть 42...
:( ... надо что-то делать...

Автор: Plotter 12.11.2002, 08:51
Надеюсь, что ты еще сюда заглянешь, а то что-то не видать более никого...  ???

Автор: Baa 12.11.2002, 10:54
смотри функции: itoa, atoi

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)