Функции ввода/вывода строки символов в файл

1. Чтение текстовой строки из файла.

char* fgets(char *str, int n, FILE *stream);

Читает до перевода строки или n-1 байт и к концу строки присоединяет 0 байт, если прочитан \n.

void main(void){

FILE*in;

char string[80];

in=fopen("story", "r");

while(fgets(string,80, in)!=0)

puts(string);

}

Считывается до конца строки '\n' или 80-1 байт. При встрече EOF возвращает 0.

2. Запись текстовой строки в файл

int fputs(char *str,FILE *stream);

y=fputs(“Это строка”,in);

y-целое число, которое устанавливается в EOF, если fputs() встре-чает EOF или ошибку. fputs не добавляет '\n' в конeц строки.

Все эти функции работают с текстовыми файлами и называются функциями последовательного доступа к файлу. Указатель внутри файла перемещается автоматически при чтении или записи.

Существуют функции прямого доступа к файлу.

Функции управления указателем в файле

Функция позволяет работать с файлом как с массивом. Достигать любого байта.

int fseek(FILE *stream, смещение, start)

Возвращает число типа int:

0 - если все хорошо;

-1 - ошибка.

Смещение – это количество байт на которое нужно сместить указатель по файлу с +(вперед), -(назад);

start - код начальной точки:

SEEK_SET или 0 – от начала файла;

SEEK_END или 2 – от конца файла;

SEEK_CUR или 1 – от текущего положения курсора.

fseek(in,0,0) - установить курсор на начало файла.

long int ftell(FILE *stream) - возвращает текущее положение курсора в файле.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: