Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Функции ввода-вывода, работающие с файлами



1. Функция чтения символа из файла fgetc. Функция fgetc читает один символ из вводного потока/

#inc lude <stdio .h>
int fgetc(f);  
FILE *f;    

Возвращаемое значение:

1) код прочитанного символа;

2) EOF, если конец файла или ошибка.

2. Функция записи символа в файл fputc. Функция fputc записывает одиночный символ, имеющий код с, в поток / Это аналог функции putchar для работы с файлами.

#inc lude <stdio .h>
int fputs(c,f);  
int c;    
FILE *f;    

Возвращаемое значение:

1) код записанного символа;

2) EOF, если встретился конец файла или произошла ошибка.

Пример. Посимвольное копирование файла

#include <stdio.h>  
main () { FILE *in, *out;  
 
int c;  
if((in=fopen("in.dat","r"))! { if((out=fopen("out.dat", { while((c=fgetc(in)) =NULL)
"w"))!=NULL)
!=EOF)
fputc(c,out);  

fclose(out); fclose(in);

} else

printf("He могу открыть out.dat \n");

} else

printf("He могу открыть in.dat \n"); }

Функции fscanf и fprintf. Действия данных функций похоже на действия функций scan/ и printf, однако эти функции работают с файлами данных, и первый аргумент функций — это указатель на файл.

3. Функция fscanf читает данные из указанного потока /, выполняя форматные преобразования, и полученные значения записывает в переменные, адреса которых задаются параметрами argument.

#include <stdio.h>    
int fscanf(f, format string [, argument. .]);
FILE *f;    
char ^format string;    

4. Функция fprintf выполняет формальные преобразования данных и печатает последовательность символов и значений в выводной поток/

#include <stdio.h>    
int fprintf(f, format string[, argument. .]);
FILE *f;    
char ^format string;    

Пример. Дано два файла S.dat и Sl.dat. Необходимо считать число типа int из файла S.dat и записать его в файл Sl.dat.

main () г          
  FILE *S, *S1;        
  /* S — указатель на файл S.dat */
  /* SI - указатель на файл SI .dat*/
  int age;          
  S=fopen( "S.dat", и -р и );    
  Sl=fopen ("Sl.dat" и a");    

  fscanf(S, "%d", &age);  
  fclose (S);  
  fprintf(SI,"Пете - %d лет \n", age);
  fclose (SI);  
}    

Функции /gets и /puts предназначены для ввода-вывода строк, они являются аналогами функций gets и puts для работы с файлами.

5. Функция чтения строки символов из файла/gets. Функция /gets читает строку из входного потока f и помещает её в строку, адрес которой задается значением параметра s. Символы читаются из потока до тех пор, пока не будет прочитан символ новой строки '\п', который включается в строку, или пока не наступит конец потока или не будет прочитано п-\ символов. Результат помещается в s и заканчивается нулевым символом '\0'. Функция возвращает адрес строки.

#incl ude <std io. h>      
char *fgets (s , n, f);      
char *s;          
int г v;          
FILE *f;          
  /* f - указатель на файл */

6. Функция записи строки символов в файл /puts. Функция /puts копирует строку s в поток f с текущей позиции. Завершающий нулевой символ не копируется.





Дата публикования: 2014-11-04; Прочитано: 281 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...