Я пишу функцию, которая в основном ждет, когда пользователь ударит "enter", а затем что-то сделает. То, что я обнаружил, работает при тестировании ниже:
#include <stdio.h>
int main()
{
int x = getc(stdin);
if (x == '\n') {
printf("carriage return");
printf("\n");
}
else {
printf("missed it");
printf("\n");
}
}
Вопрос, который у меня есть, и то, что я пробовал сначала, это сделать: if (x == '\r')
, но при тестировании программа не поймала, как я попадаю в enter. Кажется, что '\n'
соответствует тому, что я нажимаю кнопку ввода с консоли. Может кто-то объяснить разницу? Кроме того, чтобы проверить, что запись в качестве if... == "\n"
будет означать буквенный символ символа? то есть пользователю буквально нужно будет ввести "\n"
из консоли, исправить?