У меня есть вопрос о strcpy и strcat.
В программе, которую я пытаюсь сделать, мне нужно получить год рождения кого-то из фискального кода. Фискальный код задается в виде символа из последовательного порта,
strcpy(temp, code[6]);
strcat(temp, code[7]);
yyyy = 1900 + (atoi(temp));
Вот что я придумал: в основном две последние цифры года будут добавлены к 1900 (я знаю, что это не совсем работает с людьми, родившимися в 2000 году). Первая цифра копируется из полного кода во временную переменную с помощью strcpy, затем я хотел бы добавить вторую цифру, чтобы затем использовать atoi и преобразовать все в целое число; для этого я использую strcat так, как никогда раньше не видел. Я делаю это правильно?
code
? - person ameyCU   schedule 22.10.2015code
? Что такоеtemp
? Это не второстепенный вопрос, это разница между нормально работающим и неопределенным поведением. - person DevSolar   schedule 22.10.2015code
является строкой C (char[]
), обратите внимание, что иstrcpy
, иstrcat
требуютchar *
операндов, а вы передаетеchar
... т. е. неопределенное поведение. - person DevSolar   schedule 22.10.2015