crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Аналог feof в С
++Norton++
  опции профиля:
сообщение 11.10.2008, 11:13
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 98
Регистрация: 5.10.2008
Пользователь №: 380

Спасибо сказали: 0 раз(а)




Репутация:   1  


Собственно вопрос, есть ли аналог функции feof в Qt? Нужно считывать строки со стандартного ввода, пока пользователь не нажмет Ctrl+D. В С это было
while(!feof(stdin)) { .... }

Есть ли что-нибудь аналогичное в Qt? Искал, не нашел...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 11.10.2008, 11:26
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


bool QIODevice::atEnd () const [virtual]
Returns true if the current read and write position is at the end of the device (i.e. there is no more data available for reading on the device); otherwise returns false.
For some devices, atEnd() can return true even though there is more data to read. This special case only applies to devices that generate data in direct response to you calling read() (e.g., /dev or /proc files on Unix and Mac OS X, or console input / stdin on all platforms).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.10.2008, 11:31
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(++Norton++ @ 11.10.2008, 15:13) *
Ctrl+D
А что это за комбинация такая?

Цитата(++Norton++ @ 11.10.2008, 15:13) *
feof
имеется в виду End of File? если да, то AD уже привел аналог.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
++Norton++
  опции профиля:
сообщение 11.10.2008, 11:42
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 98
Регистрация: 5.10.2008
Пользователь №: 380

Спасибо сказали: 0 раз(а)




Репутация:   1  


Спасибо, оно и есть. Просто не знал, что atEnd() работает и для stdin.

Да, забыл дописать, ctrl+D - это комбинация клавиш, означающих конец ввода, в *.nix
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 15:41