首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QTextStream和标准输出

QTextStream和标准输出
EN

Stack Overflow用户
提问于 2011-09-23 14:03:25
回答 2查看 2K关注 0票数 0

我有代码:

代码语言:javascript
复制
QTextStream out(mFileHandle);

out << (QTime::currentTime().toString(Qt::LocalDate) + " - ").toAscii();
out << "Something another";

std::cout << "Data: \n";
std::cout << out.string();
out.flush();

它写入文件,但是在'Data:‘之后,我得到了'0',为什么?如何将数据同时发送到两个流?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-23 14:14:04

在我看来,您的QTextStream是从文件句柄构造出来的。这意味着它将写入该文件。

QTextStream中的.string()方法只访问用来构造它的QString。在本例中,它是零,因为您没有使用字符串来构造它。

如果您希望访问已写入QTextstream的所有文本,则可能需要将QByteArray作为构造函数参数传递给它。这将使它将输出写入该QByteArray,而不是输出到文件。然后,您可以通过QByteArray访问写入流的内容。

票数 0
EN

Stack Overflow用户

发布于 2013-12-09 16:12:18

你会做这样的事情:

代码语言:javascript
复制
QByteArray outBytes;
QTextStream outStream(&outBytes);

//write something to outBytes via stream
outStream << (QTime::currentTime().toString(Qt::LocalDate) + " - ");
outStream << "Something another";

//construct QString from written bytes
std::cout << QString(outBytes).toStdString(); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7524887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档