В соответствии с CERT Secure Coding Guidelines, вам необходимо использовать указатели для констант при обращении к строковым литералам .
Итак, char *str2 = "stack"
должно быть const char *str2 = "stack";
.
Это сделает его неизменным.
Кроме того, вы используете устаревшие / устаревшие функции . Безопасная функция, которую вы должны использовать - strcat_s
. Например,
Пример соответствия
enum { BUFFERSIZE=256 };
void complain(const char *msg) {
static const char prefix[] = "Error: ";
static const char suffix[] = "\n";
char buf[BUFFERSIZE];
strcpy_s(buf, BUFFERSIZE, prefix);
strcat_s(buf, BUFFERSIZE, msg);
strcat_s(buf, BUFFERSIZE, suffix);
fputs(buf, stderr);
}
Читайте здесь о strcpy_s () и strcat_s () .