Я хочу прочитать ввод от пользователя, используя программу C. Я не хочу использовать массив, как,
char names[50];
потому что если пользователь дает строку длиной 10, то оставшиеся пробелы теряются.
Если я использую указатель символов, как,
char *names;
тогда мне нужно выделить память для этого таким образом,
names = (char *)malloc(20 * sizeof(char));
В этом случае также возможна потеря памяти.
Итак, мне нужно динамически выделить память для строки, которая точно равна длине строки.
Предположим,
Если пользовательский ввод "stackoverflow"
, то выделенная память должна быть 14
(т.е. длина строки = 13 и 1 дополнительный пробел для '\ 0').
Как мне этого добиться?