Не записывается информация в файл - C (СИ)
Формулировка задачи:
Задание таково:Вложение 529040
Проблема в том, что после получения имя в первой функции, я не могу открыть с помощью этого имени в функции main этот файл. Не понимаю в чем проблема
#include<stdio.h> #include<stdlib.h> #include<stdio.h> #include<string.h> #include<locale.h> char *nn_base(char* argv[]) { char *na = argv[0]; char *name_file; char *re_base = "new_base.dat"; char *re_base_db = "DB = new_base.dat"; char * pch = strtok(na, "\\"); // во втором параметре указаны разделитель (пробел, запятая, точка, тире) while (pch != NULL) // пока есть лексемы { name_file = pch; pch = strtok(NULL, "\\"); } name_file = strtok(name_file, "."); name_file = strcat(name_file, ".cfg"); FILE *n_konfig; char st_f[200]; n_konfig = fopen(name_file, "r"); if (n_konfig == NULL) { perror("Созданы новый файл конфигурации, и новая база данных"); FILE *n_konfig1; n_konfig1 = fopen(re_base, "w"); fclose(n_konfig1); printf("%s%s\n", "Имя новой базы данных: ", re_base); n_konfig1 = fopen(name_file, "w"); fprintf(n_konfig1, re_base_db); fclose(n_konfig1); printf("%s%s\n", "Имя нового файла конфигурации: ", name_file); return re_base; } else { while (!feof(n_konfig)) { fgets(st_f, sizeof(st_f), n_konfig); if (st_f[0] == 'D') { break; } } } char *c, *name_base; c = strtok(st_f, " "); while (c != NULL) // пока есть лексемы { name_base = c; c = strtok(NULL, " "); } FILE *n_open_base; name_base = strtok(name_base, "\n"); n_open_base = fopen(name_base, "rb"); if (n_open_base == NULL) { n_open_base = fopen(name_base, "wb"); printf("%s%s\n", "Создана новая база данных: ", name_base); fclose(n_open_base); } return name_base; } int main(int argc, char* argv[]) { setlocale(LC_CTYPE, "rus"); char *a = nn_base(argv); printf("n%s\n", a); FILE * q; q = fopen(a, "rb"); if (q = NULL) perror("Файл не открыт"); fwrite(a, sizeof(a), 1, q); fclose(q); system("PAUSE"); return 0; }
Решение задачи: «Не записывается информация в файл»
textual
Листинг программы
if (q == NULL)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д