Все до сих пор написанные программы 22122t195w ; читали из стандартного ввода и писали в стандартный вывод, относительно которых мы предполагали, что они магическим образом предоставлены программе местной операционной системой.
Следующим шагом в вопросе ввода-вывода является написание программы 22122t195w ;, работающей с файлом, который не связан заранее с программой. Одной из программ, которая явно демонстрирует потребность в таких операциях, является cat cat программ, которые не имеют возможности обращаться к файлам по имени. Например, команда:
cat x.cpp y.cpp
x.cpp y.cpp
fopen fopen x.cpp y.cpp
stdio.h file
FILE fopen fp
fp FILE fopen FILE. Oбратите внимание, что FILE int typedef
fopen
fp fopen name mode
fopen mode r w a NULL stdio.h
getc putc getc
c=getc(fp)
c fp EOF
putc getc
putc c fp
c в файл FP и возвращает симмол, подобно getc getchar putchar getc putc
При запуске программы 22122t195w ; автоматически открываются три файла, которые снабжены определенными указателями файлов. Этими файлами являются стандартный ввод, стандартный вывод и стандартный вывод ошибок; соответствующие указатели файлов называются stdin stdout stderr stdin stdout pipe
getchar putchar getc putc stdin stdout
#define getchar() getc(stdin)
#define putchar(c) putc(c,stdout)
fscanf fprintf scanf printf
cat
cat concatenate
#include <stdio.h>
main(int argc, char *argv[])
else
}
filecopy
filecopy(FILE *fp)
stdin stdout FILE
fclose fopen fopen cat fclose putc собирает вывод. (При нормальном завершении работы программы 22122t195w ; функция fclose
|