strcat() - , ? , , , , EOF, "c" ( "\n", , , n ").
:
int c;
char pass[20] = "";
char *end = pass + sizeof(pass) - 1;
char *dst = pass;
while ((c = getchar()) != EOF && c != '\n' && dst < end)
*dst++ = c;
*dst = '\0';
"mygetch()" "getchar()" - , , , "mygetch()"; , EOF.
, strcat(), , :
char c[2] = "";
char pass[20] = "";
char *end = pass + sizeof(pass) - 1;
char *dst = pass;
while (c[0] != '\n' && dst < end)
{
c[0] = mygetch();
strcat(dst, c);
dst++;
}
, - strcat() . , , strcat(pass, c), , strcat() 0, 1, 2, 3,... . , , dst NUL , , strcat() . 1 , , , .