powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / чтение и запись файлов в C++ Bulder
9 сообщений из 9, страница 1 из 1
чтение и запись файлов в C++ Bulder
    #33581774
Belevern
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся с такой проблемой: Есть файл, в него надо записать данные, а потом их прочесть. Если размер данный меньше 1кб, то всё нормально. Если больше, то при чтении он прочитывает один лишний байт где-то в середине. Всего один байт, который мне обеспечивает сдвиг... Читаю и записываю одну и ту же структуру:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
#define ST_END 0x700
<stdio.h>
int *values;
.........
fwrite((void*)(values),sizeof(int),ST_END,file);
.........
.........
fread((void*)(values),sizeof(int),ST_END,file);
.........

Может есть другой способ чтения/записи из/в файл в С++ Builder? Если да, то подскажите, пожалуйса. Или в чём у меня ошибка (если есть)
...
Рейтинг: 0 / 0
чтение и запись файлов в C++ Bulder
    #33582193
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не понятно.
Я лисно использую WINAPI для орпераций с файлами - все работает.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
чтение и запись файлов в C++ Bulder
    #33582194
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мдаааа, после n*10^x грамм печатать противопоказано.
лисно === лично
орпераций === операций
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
чтение и запись файлов в C++ Bulder
    #33582483
_shumer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во-1 нужно указывать размер буфера, во-2 считывать и записывать надежнее по блокам размерностью 1 в течении sizeof(block) раз.
Код: plaintext
1.
2.
3.
4.
FILE*Stream = fopen(filename,"r"));
char szBuf;
int lread;
while(lread=fread(szBuf, 1 ,sizeof(szBuf),Stream))
 //.....
...
Рейтинг: 0 / 0
чтение и запись файлов в C++ Bulder
    #33582488
_shumer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правляю себя, конечно же
Код: plaintext
char szBuf[lenBuf];
...
Рейтинг: 0 / 0
чтение и запись файлов в C++ Bulder
    #33582489
Belevern
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пробовал: тоже самое. Только с помощью fgetc(File); и fputc(char;File);.
А как с помощью WINAPI это делать?
...
Рейтинг: 0 / 0
чтение и запись файлов в C++ Bulder
    #33582493
_shumer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BelevernЯ пробовал: тоже самое. Только с помощью fgetc(File); и fputc(char;File);.
А как с помощью WINAPI это делать?

Если файл бинарный, то fputc и fgetc, насколько я помню, использовать нельзя. Ну и открывать его следовательно нужно в режиме "rb" или "wb
Код: plaintext
FILE*Stream = fopen(filename,"rb"));

А вот на счет не получается, проверь себя еще раз. У меня сервер передает файлы любых размеров, считанные с помощью fread. Ищи ошибку, или выложи кусок кода.
...
Рейтинг: 0 / 0
чтение и запись файлов в C++ Bulder
    #33582497
Belevern
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл бинарный... Я читаю его либо в режиме "r" и "w" или "rt" и "wt"... Попобую "rb" и "wb"... Хотя этого в справке и не написанно...
...
Рейтинг: 0 / 0
чтение и запись файлов в C++ Bulder
    #33582506
Belevern
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все работает. Большое спасибо!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / чтение и запись файлов в C++ Bulder
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]