скажем, у меня есть 3 строки:
char a[9];
char b[20];
char c[20];
как мне создать третью строку, составленную из содержимого предыдущих строк, учитывая, что a, b и c вводятся пользователем.когда я использую strcpy с a и затем strcat с b и c, а затем печатаю полученную строку d, я получаю мусорные символы.Это связано с NULL-терминаторами для каждой строки или я делаю что-то еще неправильно?Спасибо
РЕДАКТИРОВАТЬ:
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[50];
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';
strcat(file_name, first_name);
strcat(file_name, last_name);
strcat(file_name, date_of_birth);
puts(file_name);
}