Похожие чаты

Hello. I have a problem. Here is a code: #include <stdio.h> int

main() {
char buffer[1000];

while (fgets(buffer, sizeof(buffer), stdin) != NULL) {
printf("Line read: %s", buffer);
}

printf("\nPress Enter to exit...\n");
getchar();

return 0;
}


I want my app to read stdin, then after i finished entering data, program should print "Press enter" and wait for user input before finishing. But now it is finishing immediately

I tried to launch this way:

./a.out < test

or just

./a.out


And then after finishing input data, i press ctrl+D and its still just immediately exits without waiting for confirmation. What am i doing wrong ?

9 ответов

48 просмотров

Try printf("\nPress Enter to exit...\n"); while (getchar() != '\n');

جبريل 🇸🇦- Автор вопроса

the input buffer is not empty after returning from the while, so getchar() returns immediately

جبريل 🇸🇦- Автор вопроса
Thomas
the input buffer is not empty after returning from...

Oh, okay. How i can clear it after fgets then ?

Стикер

Стикер

جبريل 🇸🇦- Автор вопроса

Hm. Interesting. Thanks for info

جبريل 🇸🇦
Hm. Interesting. Thanks for info

I believe this is what you need: https://www.gnu.org/software/libc/manual/html_node/Noncanon-Example.html This is an example to handle CTRL + D so that the read() syscall is aware of that. The CTRL + D will yield an EOT char '\004'. Nore that this only works when the stdin is a terminal. Doing ./bla < file doesn't work in this approach.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Привет)) уже кажется эту тему перемусолили, но вот я так и не понял. Я сейчас сижу на 27дюймов 2к мониторе. На Актуальной макоси, если я куплю 27д 4к монитор: - будет ли изобр...
Vladislav Piskunov
16
Also, why can’t the community have a vote/ say when it comes to initiatives like buybacks. Isn’t the point of crypto decentralisation? Don’t we deserve input as long term supp...
👨🏽‍🦰
13
any reference of this implementation?
BitBuddha
29
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Hi guys, any problem with Pulsebrige? Trying to transfer from wETH to ETH. First it tells me to connect my metamask "through mobile app" not desktop. Then I did and confirmed ...
Snowflakecrypto
13
Карта сайта