C - Как читать строки строк из стандартного ввода или сохранения файловой памяти
Мне нужна версия строки чтения, которая экономит память. У меня есть это "за работой" решение. Но я'Я не уверен, как он ведет себя с памятью. Когда я включаюfree(text)
это работает на несколько строк, а затем я получаю сообщение об ошибке. Так что теперь ни текст, ни результат никогда не освобождаются, хотя я и маллок текст Это верно ? И почему это так?
#include
#include
#include
char* readFromIn()
{
char* text = malloc(1024);
char* result = fgets(text, 1024, stdin);
if (result[strlen(result) - 1] == 10)
result[strlen(result) - 1] = 0;
//free(text);
return result;
}
я имеюМНОГО коротких строк, чтобы прочитать с этим, и мне также нужно, чтобы стандартный ввод для замены сFILE*
справиться. Мне не нужно перераспределять текст, потому что у меня только короткие строки.