Основы языка С++. Викентьева О.Л. - 74 стр.

UptoLike

Составители: 

putchar(c);//вывод с на стандартное устройство вывода
fclose(f);
}
23.5. Строковый ввод-вывод
Для построчного ввода-вывода используются следующие функции:
1) char* fgets(char* s,int n,FILE* f), где
char*s – адрес, по которому размещаются считанные байты,
int n – количество считанных байтов,
FILE* f – указатель на файл, из которого производится считывание.
Прием байтов заканчивается после передачи n-1 байтов или при получении управ-
ляющего символа ‘\n’. Управляющий символ тоже передается в принимающую строку.
Строка в любом случае заканчивается ‘\0’. При успешном завершении считывания функ-
ция возвращает указатель на прочитанную строку, при неуспешном – 0.
2) int puts(char* s, FILE* f), где
char*s – адрес, из которого берутся записываемые в файл байты,
FILE* f – указатель на файл, в который производится запись.
Символ конца строки (‘\0’) в файл не записывается. Функция возвращает EOF, если
при записи в файл произошла ошибка, при успешной записи возвращает неотрицательное
число.
Пример:
//копирование файла in в файл out
int MAXLINE=255;//максимальная длина строки
FILE *in,//исходный файл
*out;//принимающий файл
char* buf[MAXLINE];//строка, с помощью которой выполняется копирование
in=fopen(“f1.txt”,”r”);//открыть исходный файл для чтения
out=fopen(“f2.txt”,”w”);//открыть принимающий файл для записи
while(fgets(buf,MAXLINE,in)!=0)//прочитать байты из файла in в строку buf
fputs(buf,out);//записать байты из строки buf в файл out
fclose(in);fclose(out);//закрыть оба файла
23.6. Блоковый ввод-вывод
Для блокового ввода-вывода используются функции:
1) int fread(void*ptr,int size, int n, FILE*f), где
void*ptr – указатель на область памяти, в которой размещаются считанные из файла
данные,
int size – размер одного считываемого элемента,
int n – количество считываемых элементов,
FILE*f – указатель на файл, из которого производится считывание.
В случае успешного считывания функция возвращает количество считанных эле-
ментов, иначе – EOF.
2) int fwrite(void*ptr,int size, int n, FILE*f), где
void*ptr – указатель на область памяти, в которой размещаются считанные из файла
данные,
int size – размер одного записываемого элемента,
int n – количество записываемых элементов,
FILE*f – указатель на файл, в который производится запись.
В случае успешной записи функция возвращает количество записанных элементов,
иначе – EOF.
Пример:
struct Employee
{
char name[30];
char title[30];
       putchar(c);//вывод с на стандартное устройство вывода
       fclose(f);
       }
                                     23.5. Строковый ввод-вывод
       Для построчного ввода-вывода используются следующие функции:
                   1) char* fgets(char* s,int n,FILE* f), где
       char*s – адрес, по которому размещаются считанные байты,
       int n – количество считанных байтов,
       FILE* f – указатель на файл, из которого производится считывание.
       Прием байтов заканчивается после передачи n-1 байтов или при получении управ-
ляющего символа ‘\n’. Управляющий символ тоже передается в принимающую строку.
Строка в любом случае заканчивается ‘\0’. При успешном завершении считывания функ-
ция возвращает указатель на прочитанную строку, при неуспешном – 0.
                   2) int puts(char* s, FILE* f), где
       char*s – адрес, из которого берутся записываемые в файл байты,
       FILE* f – указатель на файл, в который производится запись.
       Символ конца строки (‘\0’) в файл не записывается. Функция возвращает EOF, если
при записи в файл произошла ошибка, при успешной записи возвращает неотрицательное
число.
       Пример:
       //копирование файла in в файл out
       int MAXLINE=255;//максимальная длина строки
       FILE *in,//исходный файл
       *out;//принимающий файл
       char* buf[MAXLINE];//строка, с помощью которой выполняется копирование
       in=fopen(“f1.txt”,”r”);//открыть исходный файл для чтения
       out=fopen(“f2.txt”,”w”);//открыть принимающий файл для записи
       while(fgets(buf,MAXLINE,in)!=0)//прочитать байты из файла in в строку buf
       fputs(buf,out);//записать байты из строки buf в файл out
       fclose(in);fclose(out);//закрыть оба файла

                                    23.6. Блоковый ввод-вывод
      Для блокового ввода-вывода используются функции:
                  1) int fread(void*ptr,int size, int n, FILE*f), где
      void*ptr – указатель на область памяти, в которой размещаются считанные из файла
данные,
      int size – размер одного считываемого элемента,
      int n – количество считываемых элементов,
      FILE*f – указатель на файл, из которого производится считывание.
      В случае успешного считывания функция возвращает количество считанных эле-
ментов, иначе – EOF.
                  2) int fwrite(void*ptr,int size, int n, FILE*f), где
      void*ptr – указатель на область памяти, в которой размещаются считанные из файла
данные,
      int size – размер одного записываемого элемента,
      int n – количество записываемых элементов,
      FILE*f – указатель на файл, в который производится запись.
      В случае успешной записи функция возвращает количество записанных элементов,
иначе – EOF.
      Пример:
      struct Employee
      {
      char name[30];
      char title[30];