ВУЗ:
Составители:
Рубрика:
// возникает ли ошибка при открытии файла
{
perror(strcat“error in file :”,filename);//strcat складывает две строки
exit(0);//выход из программы
}
. . . . .
fclose(f);
}
Для текстового файла:
if(f=fopen(filename,”rt”)==0)//открываем для чтения и проверяем возникает ли
ошибка при //открытии файла
if(f=fopen(filename,”r”)==0)//открываем для чтения и проверяем возникает ли ошиб-
ка при //открытии файла
23.3. Стандартные файлы и функции для работы с ними
Когда программа начинает выполняться, автоматически открываются несколько
потоков, из которых основными являются:
- стандартный поток ввода (stdin);
- стандартный поток вывода (stdout);
- стандартный поток вывода об ошибках (stderr).
По умолчанию stdin ставится в соответствие клавиатура, а потокам stdout и stderr -
монитор. Для ввода-вывода с помощью стандартных потоков используются функции:
- getchar()/putchar() – ввод-вывод отдельного символа;
- gets()/puts() – ввод-вывод строки;
- scanf()/printf() – форматированный ввод/вывод.
Функции рассматривались, когда мы рассматривали строковые и символьные дан-
ные. Теперь мы можем связать их со стандартными потоками: ввод осуществляется из
стандартного потока stdin вывод осуществляется в стандартный поток stdout. Аналогично
работе со стандартными потоками выполняется ввод-вывод в потоки, связанные с файла-
ми.
23.4. Символьный ввод-вывод
Для символьного ввода-вывода используются функции:
- int fgetc(FILE*fp), где fp – указатель на поток, из которого выполняется считыва-
ние. Функция возвращает очередной символ в форме int из потока fp. Если символ не мо-
жет быть прочитан, то возвращается значение EOF.
- int fputc(int c, FILE*fp), где fp – указатель на поток, в который выполняется за-
пись, c – переменная типа int, в которой содержится записываемый в поток символ. Функ-
ция возвращает записанный в поток fp символ в форме int . Если символ не может быть за-
писан, то возвращается значение EOF.
Пример:
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE *f;
char c;
char *filename=”f.txt”;
if((f=fopen(filename,”r”)==0)
{
perror(filename);exit(0);
}
while(c=fgetc(f)!=EOF)
// возникает ли ошибка при открытии файла
{
perror(strcat“error in file :”,filename);//strcat складывает две строки
exit(0);//выход из программы
}
.....
fclose(f);
}
Для текстового файла:
if(f=fopen(filename,”rt”)==0)//открываем для чтения и проверяем возникает ли
ошибка при //открытии файла
if(f=fopen(filename,”r”)==0)//открываем для чтения и проверяем возникает ли ошиб-
ка при //открытии файла
23.3. Стандартные файлы и функции для работы с ними
Когда программа начинает выполняться, автоматически открываются несколько
потоков, из которых основными являются:
- стандартный поток ввода (stdin);
- стандартный поток вывода (stdout);
- стандартный поток вывода об ошибках (stderr).
По умолчанию stdin ставится в соответствие клавиатура, а потокам stdout и stderr -
монитор. Для ввода-вывода с помощью стандартных потоков используются функции:
- getchar()/putchar() – ввод-вывод отдельного символа;
- gets()/puts() – ввод-вывод строки;
- scanf()/printf() – форматированный ввод/вывод.
Функции рассматривались, когда мы рассматривали строковые и символьные дан-
ные. Теперь мы можем связать их со стандартными потоками: ввод осуществляется из
стандартного потока stdin вывод осуществляется в стандартный поток stdout. Аналогично
работе со стандартными потоками выполняется ввод-вывод в потоки, связанные с файла-
ми.
23.4. Символьный ввод-вывод
Для символьного ввода-вывода используются функции:
- int fgetc(FILE*fp), где fp – указатель на поток, из которого выполняется считыва-
ние. Функция возвращает очередной символ в форме int из потока fp. Если символ не мо-
жет быть прочитан, то возвращается значение EOF.
- int fputc(int c, FILE*fp), где fp – указатель на поток, в который выполняется за-
пись, c – переменная типа int, в которой содержится записываемый в поток символ. Функ-
ция возвращает записанный в поток fp символ в форме int . Если символ не может быть за-
писан, то возвращается значение EOF.
Пример:
#include
#include
#include
void main()
{
FILE *f;
char c;
char *filename=”f.txt”;
if((f=fopen(filename,”r”)==0)
{
perror(filename);exit(0);
}
while(c=fgetc(f)!=EOF)
Страницы
- « первая
- ‹ предыдущая
- …
- 71
- 72
- 73
- 74
- 75
- …
- следующая ›
- последняя »
