#1 28.12.06 19:45
[C] Элемент _ptr структуры FILE...Его смысл?
при записи в файл этому элементу присваивается много мусора...
подскажите, как избавиться от этого?
Код: Си:
FILE *createFile(char **h,int count)
{
int i=0;
FILE *f=fopen(nameGener(count),"w+");
for(i=0;h[i]!=NULL;i++)
fprintf(f,"%s\n",h[i]);
count++;
return f;
}Исправлено kvazimodo (28.12.06 19:45)
Offline
#3 28.12.06 23:37
Re: [C] Элемент _ptr структуры FILE...Его смысл?
проблема была в том,что после записи в файл не закрывал поток...
при дальнейшем использовании этого потока появлялся мусор, похожий на значение поля _ptr...
Offline
#5 04.01.07 22:55
Re: [C] Элемент _ptr структуры FILE...Его смысл?
kvazimodo написал(а):
проблема была...
теперь её нет ;)
Offline
#10 20.01.07 02:40
Re: [C] Элемент _ptr структуры FILE...Его смысл?
Hyperlink, напиши, если знаешб... лишним не будет
Offline
#11 21.01.07 12:47
Re: [C] Элемент _ptr структуры FILE...Его смысл?
Когда файл открывают функцией fopen(), создаётся переменная структурного типа FILE, указатель на которую и возвращается этой функцией. Структуры типа FILE состоят из 8-ми полей, 4 из которых: _ptr, _cnt, _base, _bufsiz, напрямую связаны с буфером файловых операций записи/чтения. Буфер автоматически выделяется в памяти компьютера при первой же из этих операций. Размер этого буфера хранится в поле _bufsiz. Адрес начала буфера в поле _base. Количество байт, которые ещё можно поместить в буфер до его переполнения в поле _cnt. Указатель байта памяти в буфере, в который будет произведена следующая операция записи, размещен в поле _ptr.
Offline

