zoukankan      html  css  js  c++  java
  • Qt控制台输出QString

    有时候想在控制台输出我们想要的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. //其它类型变量还是可以照常输出的。  
     
  • 相关阅读:
    Linux下docker安装教程
    基于spark邮件自动分类
    多项式相关算法集成
    基于Bert的文本情感分类
    基于sklearn的分类器实战
    LDA && NCA: 降维与度量学习
    DataStream API介绍和示例
    Apache Flink 简单介绍和入门
    Hbase 表设计和高级属性
    hbase基础shell操作
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/3758012.html
Copyright © 2011-2022 走看看