Вам нужно инициализировать ваши строки, прежде чем объединять их.Массивы не инициализируются по умолчанию.
char username[25] = "";
char password[25] = "";
Для чего бы вы ни стояли, вы можете использовать sprintf
, чтобы упростить создание строк:
sprintf(username, "USER %s\n", usr);
sprintf(password, "PASS %s\n", pswd);
Надеемся, вы также понимаете, что с помощью fixedРазмер буфера является рецептом для ошибок переполнения буфера.В целях безопасности вы должны быть осторожны от них.Это раздражает, но это C для вас:
if (snprintf(username, 25, "USER %s\n", usr) >= 25 ||
snprintf(password, 25, "PASS %s\n", pswd) >= 25)
{
fprintf(stderr, "buffer overflow\n");
exit(EXIT_FAILURE);
}