Любая классная функция, чтобы заменить readln из паскаля в ANSI C? - PullRequest
1 голос
/ 24 апреля 2011

readln читает до конца строки (нажмите Enter) с пробелами и всем,

Я хотел бы что-то подобное, но для ANSI C (не C ++ и должны быть для Linux и Windows)

Я знаю, что могу сделать функцию, которая читает каждый символ, пока не будет нажата кнопка ввода, но если есть что-нибудь более прохладное, было бы здорово = D

Спасибо!

Ответы [ 5 ]

5 голосов
/ 24 апреля 2011

С здесь есть fgets, который делает это.

3 голосов
/ 24 апреля 2011

Да.

char * fgets ( char * str, int num, FILE * stream );
2 голосов
/ 24 апреля 2011

Вы можете использовать scanf с преобразованием в набор сканирования примерно так:

char buffer[256];
scanf("%255[^\n]", buffer);

другая возможность заключается в использовании fgets:

char buffer[256];
fgets(buffer, sizeof(buffer), stdin);

В Linux (и других системах POSIX-ish) у вас, вероятно, также должна быть функция с именем (удивление, удивление) readline, которая похожа, но выделит пространство, необходимое для входящих данных.

1 голос
/ 24 апреля 2011

Используйте функцию fscanf .

0 голосов
/ 24 апреля 2011

Вы ищете что-то вроде этого .

...