Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
How to print Qdate value on screen
-
Hello, I am very new to Qt and I bumped into a problem that might well be stupid as far as I know. In the following chunk of code
QFile file("bds.txt"); QTextStream in(&file); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) return 1; QString discard,dateStr; QList<QDate> dates; while(!in.atEnd()) { in >> discard; in >> dateStr; dates.append(QDate::fromString(dateStr,"d'/'MMM'/'yyyy")); } QString dt ((dates[0]).toString()); std::cout << dt << std::endl;
I obtain the following error
error: no match for 'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and 'QString') std::cout << dt << std::endl;
So I created a TextStream as follows
QTextStream outt(stdout); .... .... outt << dt << std::endl;
Obtaining the following error
error: no match for 'operator<<' (operand types are 'QTextStream' and '<unresolved overloaded function type>') outt << dt << std::endl;
How can I overcome this problem and why am I having this problem in first place?
-
I think this one should work:
std::cout << dt.toStdString() << std::endl;
-
@RDiGuida To add to @Mario84's answer, QString is Qt based class and your using standard c++ API's to print it which it doesnot understand. To print values of pure Qt based API's you can use qDebug().
Eg:QString dt ((dates[0]).toString()); qDebug() << dt;