У меня проблема. Я попытался увидеть длину некоторой строки после использования функции fgets. Если я ввешу строку под номером буквы, которая может быть в строке (например: максимальные буквы в строке равны 9, и я ввожу 4 буквы), я получаю длину строки + 1. Зачем?длина строки с функцией fgets в C
Вот мой код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char name[10]={0};
printf("enter your name\n");
fgets(name, 10, stdin);
printf("your name is %s and it is %d letters\n", name, strlen(name)); // length problem
return 0;
}
А как насчет man-страницы 'fgets' неясно? Вы проверили массив после функции в вашем отладчике? Что вы нашли в конце строки? – Olaf
'fgets()' включает в себя новую строку на входе - если она читает новую строку. –
... и после имени ваш вывод перемещается в ** следующую строку ** ... – LPs