Как открыть файл с определенным пользователем именем в c - PullRequest
0 голосов
/ 13 декабря 2018

По сути, я беру 3 строки у пользователя, затем объединяю их все в 4-ю строку, которая должна быть именем текстового файла, в котором будут храниться строки.

void getBasicDetails(char date_of_birth[9], char first_name[20], 
                     char last_name[20])
{
    char temp_dob[9];
    char temp_fname[20];
    char temp_lname[20];
    char file_name[60];
    int stop = 1;
    printf("Patient's Date of Birth (in format dd/mm/yy) : "); // 2 and 5
    while (stop == 1)
    {
        scanf("%s", &temp_dob);
        emptyBuffer();
        if ((temp_dob[2] == '/' && temp_dob[5] == '/'))
        {
            stop = 0;
            break;  
        }
        else
        {
            printf("Enter in format dd/mm/yy\n");
        }
    }
    date_of_birth = temp_dob;
    date_of_birth[9] = '\0';

    printf("Patient's First Name : ");
    scanf("%s", &temp_fname);
    emptyBuffer();
    first_name = temp_fname;
    first_name[20] = '\0';

    printf("Patient's Last Name : ");
    scanf("%s", &temp_lname);
    emptyBuffer();
    last_name = temp_lname;
    last_name[20] = '\0';
    sprintf(file_name, "%s%s%s", first_name, last_name, date_of_birth);
    printf("%s\n", file_name);
    file_name[60] = 0;

    FILE *fptr;
    fptr = fopen(file_name , "w");
    if (!fptr)
    {
        printf("ERROR");
        exit(1);
    }
    fprintf(fptr, "First Name : %s\n", first_name);
    fprintf(fptr, "Last Name : %s\n", last_name);
    fprintf(fptr, "Date Of Birth : %s\n", date_of_birth);
    fclose(fptr);
}

в данный момент при вводе скажем09/09/99, john, smith вывод

johnsmith09/09/99
ERROR

, затем программа завершается.

Любая обратная связь приветствуется (включая мой код, как правило, плохой).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...