Функция открытия файла - C (СИ)
Формулировка задачи:
Сделал функцию. Запутался с внешними и внутренними переменными. Мне надо сделать FILE *f в main или внешней чтобы после выполнения функции был доступ к f . Как сделать f внутренней для функции, где она используется-не хочется заносить эту переменную во внешние переменные.
Не понимаю почему работает char *filename и char *mode, когда вызываю функцию так
Ведь под "pen.dat" и "ab" строчки не выделено памяти.
void openFile(FILE *f,char *filename,char *mode){ f=fopen(filename,mode); if (f==NULL){ perror("Error opening file"); getchar(); exit (-1); } }
openFile(f,"pen.dat","ab");
Решение задачи: «Функция открытия файла»
textual
Листинг программы
#include <stdio.h> //void openFile(FILE *fl, char *filename, char *mode); FILE * openFile(char *filename,char *mode) { FILE *f = fopen(filename,mode); if (f == NULL) { perror("Error opening file"); } return f; } int main() { FILE *f; char *name = "test"; char *mode = "r"; char buf[100], ch; f = openFile(name,mode); if(fgets(buf,100,f) != NULL) printf("%s", buf); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д