基本上,我从用户那里获取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
然后程序退出。
任何人和所有反馈都将不胜感激(包括我的代码通常很糟糕)。