2014-09-27 3 views
-1

Мой профессор сказал, что при чтении в потоке символов, если пользователь вручную не вводит символ конца файла, он автоматически устанавливается для него. Является ли этот символ помещенным до или после символа новой строки (символ, который представляет собой пользователь, нажимая «enter»)?«Cin» помещает EOF после или до новой строки?

+0

EOF не является персонажем. Это просто конец файла или другого потока данных. –

+1

@larsmans: Это утверждение * может быть слегка запутанным, учитывая существование http://en.wikipedia.org/wiki/End-of-transmission_character и http://en.wikipedia.org/wiki/Control-Z – NPE

+1

@NPE Конечно, но это на самом деле общий источник путаницы, и OP, похоже, поражается этой путаницей (IOstreams ", вставляя символ EOF"?). Я был рад, что в моей книге C объяснили, что файлы фактически не содержат символ EOF. –

ответ

3

Ничего не происходит после окончания файла, поэтому перед этим должна стоять новая строка.

+0

Большое спасибо, оцените его. – dfg

1

EOF только это, конец файла. Поэтому, основываясь на этом определении, новая линия должна была предшествовать.

-1

Кроме того, нет абсолютно никаких требований, чтобы иметь символ новой строки непосредственно перед EOF. Последним символом в файле может быть любой символ, а не только символ новой строки.

Смежные вопросы