Используя fgets
для ввода строки, у меня есть сомнения, связанные с длиной прочитанной строки.
Например, рассмотрим следующую программу.
char str[50];
int i;
int len;
printf("Enter name:\n");
fgets(str,11,stdin);
len = strlen(str);
printf("len : %d\n",len);
Если я ввожу
123456789
,strlen
дает 10.Если я введу
1234567890
,strlen
снова будет 10 ??
Я думаю, что strlen
рассматривает новую строку также для длины строки. Я прав? (Я понимаю, что fgets
использует новую строку как часть строки)
Что не так с (2), где я ввожу ровно 10 символов. Здесь длина строки должна быть 11, верно? 10 + 1 (для новой строки) = 11