Я знакомлюсь с программированием на C и хочу написать программу, похожую на expand . Инструмент командной строки сначала читает каждый ввод из stdin
, обрабатывает его и записывает полный результат в stdout
. Как я могу добиться этого элегантным способом?
В настоящее время мой код выглядит примерно так. Это прекрасно работает при обработке файлов, но, очевидно, когда input
равно stdin
после каждой новой строки, введенной пользователем, он немедленно получает результат для введенной строки.
char buffer[1024];
while (fgets(&buffer[0], sizeof(buffer) / sizeof(char), input) != NULL)
{
/* do something */
printf("output");
}
С наилучшими пожеланиями,
Оливер Ханаппи