По сути, я беру 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
, затем программа завершается.
Любая обратная связь приветствуется (включая мой код, как правило, плохой).