Я пишу очень маленькую программу на C, которая должна проверять, является ли определенная строка пустой. Ради этого вопроса я упростил свой код:
#include <stdio.h>
#include <string>
int main() {
char url[63] = {'\0'};
do {
printf("Enter a URL: ");
scanf("%s", url);
printf("%s", url);
} while (/*what should I put in here?*/);
return(0);
}
Я хочу, чтобы программа останавливала цикл, если пользователь просто нажимает кнопку ввода, не вводя ничего.
Спасибо.
EDIT:
У меня здесь небольшая проблема. Когда я нажимаю кнопку ввода, не вводя ничего в терминал, курсор просто переходит к следующей строке. Есть ли что-нибудь, просто чтобы он ничего не представлял вместо того, чтобы переместиться на следующую строку?
EDIT:
Я обнаружил, что добавление [^\n] в scanf позволяет мне ничего не вводить и все равно отправлять. Однако, когда я что-то вводил, он запускается еще раз, а затем завершает цикл. Здесь обновленный код:
int main() {
char url[63] = {'\0'};
do {
printf("Enter a URL: ");
scanf("%[^\n]s", url);
} while (url[0] != '\0');
return(0);
}