Qt控制台输出QString

引自:http://qimo601.iteye.com/blog/1432878


有时候想在控制台输出我们想要的QString变量。

1、qDebug可以实现在控制台终端打印,但我们还是想使用C++中的std::cout<<variable

 

This function does nothing if QT_NO_DEBUG_OUTPUT was defined during compilation.

 

2、网上说的方法利用QTextStream:

 

 

Cpp代码   收藏代码
  1.  #include <QTextStream>  
  2. QTextStream cin(stdin, QIODevice::ReadOnly);  
  3. QTextStream cout(stdout, QIODevice::WriteOnly);  
  4. QTextStream cerr(stderr, QIODevice::WriteOnly);  
  5. QString st("hello world");  
  6. cout <<str<<endl;//必须加endl才能输出  
  7. cin>>str;//输入  
  8. cout <<str;  
  9. cout.flush();//或者加cout.flush()才能输出  

 这样的cin、cout、 cerr和我们在传统C++遇到的有一点不同,那就是你cout了一个QString之后,默认是不直接输出的,一般需要等到cout的缓冲区满之后,才 向终端输出内部的字符串;如果你想在cout之后马上看到输出的内容,可以在输出之后在输出一个endl,或者调用cout的内部方法flush,强制情 况缓冲区

 

3、我们还是习惯用C++的 #include<iostream>中的std::cout,这个时候QString类型需要转换成Char *

 

 

Cpp代码   收藏代码
  1. #include <iostream>  
  2. QString str("hello,world");  
  3. QByteArray ba(str.toAscii());//toAscii()返回一个QByteArray类型  
  4. std::cout << ba.data();//data()返回char *  
  5. //其它类型变量还是可以照常输出的。  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值