Информатика -продвинутый курс

керамик про 9h официальный сайт отзывы. |

ФУНКЦИИ ВВОДA-ВЫВОДА - часть 5


int argc;

char *argv[] ;

(

FILE *fp;

char ch;

if(argc!=2) {

printf("Вы забыли ввести имя файла\n"};

exit(l);

}

if((fp=fopen(argv[l], "r"))==NOLL)(

printfC'He может открыть файл\n"};

exit(l);

}

ch=getc(fp);          /* читать один символ */

while(ch!=EOF)

{

putchar(ch);     /* печать на экран */

ch=getc(fp);

}

fclose(fp) ;

}

Под управлением буферизованной системы ввода-вывода можно выполнять операции чтения и записи с произвольным доступом с помощью функции fseek(), которая устанавливает файловую позицию.

Например, для чтения 234-го байта в файле с именем test можно использовать следующую функцию:

funcl()

{

FILE *fp;

if((fp=fopen("test" ,"r"))==NULL)

{

printf("He могу открыть фаил\n");

exit(l);

}

fseek(fp,234L,0);

return getc(fp); /*читать один символ в 234-й позиции*/

}

В дополнение к рассмотренным до сих пор основным функциям ввода-вывода буферизованная система ввода-вывода включает функции fprintf() и fscanf(). Эти функции ведут себя точно так же, как функции printf() и scanf(), за исключением того, что они работают с дисковыми файлами. Обращения к функциям fprintf() и fscanf() имеют следующий вид:

 

fprintf(1р,<формат>,<список аргументов>);

fscanf(1р,<формат>,<список аргументов>);

 

где fp является файловым указателем, который возвращается вызовом функции fopen().

 




Начало  Назад  Вперед



Книжный магазин