Как написать программу AC для создания файла? - PullRequest
0 голосов
/ 24 апреля 2019

Я хочу создать файл путем импорта имени файла от пользователя, пожалуйста, помогите

int file_name;
printf("Enter ID NUMBER : ");
scanf("%d",&file_name);
FILE *fin;
fin = fopen(&file_name , "w");

1 Ответ

2 голосов
/ 24 апреля 2019

Здесь

FILE *fin;
fin = fopen(&file_name , "w"); /* this is wrong, since &file_name is of int* type */

fopen() ожидает первый аргумент типа char*, но вы указали тип int*, который неверен и который компилятор правильно сообщил как

ошибка : несовместимые типы указателей передают 'int *' параметру типа 'const char *' [-Wincompatible-pointer-types]

, если вы могли скомпилироватьс флагом типа -Wall -Wpedantic -Werror.Со страницы руководства fopen ()

FILE * fopen (const char * pathname, const char * mode);

Объявление file_name как массив символов и сохранить в нем имя файла.

char file_name[1024]; /* take a char array to store file name */
/* @TODO : store actual file name into file_name array */
FILE *fin = fopen(file_name , "w");
if(fin == NULL) {
  /* @TODO : error handling */
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...