LINUX.ORG.RU

Помогите кто-нть! fsrteam vs QTextStream - не читает /dev/mice :((

 , fsrteam,


0

1

Помогите, не пойму в чем проблема.( Собственно, озадачило вот что. Работает:

#include <iostream>
#include <fstream>
int main (int argv, char *argc[])
{
	  std::fstream filestr ("/dev/input/mice", std::fstream::in);
	  char c;
	  while(true) 
	  {
		filestr.read(&c,1);
		std::cout << c << "|";
	  }
  return 0;
}

Но ни в какую не хочет работать вот это:

QTextStream &operator >>(QTextStream &in, const char &n)
{
    in >> n;  
return in;
}
int main(int argc, char *argv[])
{
    char c;
    QApplication app(argc, argv);
			QFile file("/dev/input/mice");
            if(!file.open(QFile::ReadOnly)) {
				qCritical("Can`t open ");  
				return 0;
			}
			QTextStream stream(&file);
			while(true){
				stream >> &c;
				qDebug() << c;
			}
         file.close();
    return 0;
}

Тупо зависает на операции чтения. у самого уже глаз до .. замылен - никак не пойму. вроде должно читаться? quint16 - не принципиально, просто слово со знаком. В чем дело?



Последнее исправление: cetjs2 (всего исправлений: 5)

QTextStream &operator >>(QTextStream &in, const qint32 &n)

Зачётная функция, причём я сомневаюсь в том, что в ней более зачётно, тип n или первая строка тела.

Begemoth ★★★★★
()
Ответ на: комментарий от Begemoth

)) Эт вырезано. сильно )) Но сути не меняет - чего я не учитываю, что не читается символьное? уже башку сломал.

bot4ever
() автор топика
Ответ на: комментарий от bot4ever

А ничего, что в первом случае ты используешь неформатированный ввод, а во втором - форматированный? Используй QFile напрямую, без QTextStream.

Begemoth ★★★★★
()
Последнее исправление: Begemoth (всего исправлений: 1)
Ответ на: комментарий от Begemoth

Да в том и дело, что с Qfile та-же проблема. просто подвешивается на чтении.

bot4ever
() автор топика
Ответ на: комментарий от Begemoth

А че-ж ему не компилироваться-то)) и собирается, и запускается.. Вот поразумней вариант. но тоже не пашет.

int main()
{
            char c;
			QFile f("/dev/psaux");
            if(!f.open(QFile::ReadOnly)) {
				qCritical("Can`t open");  
				return 0;
			}
                        while(true){
				f.read(&c,1);
				qDebug() << c;
			}
			qDebug() << "Ending...";
         f.close();
    return 0;
}
уж вроде и ошибиться негде(

bot4ever
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.