qt如何输出序号_C/C++/Qt屏蔽输出流技巧

bab6d0c187c2cab09e02763abcfef8bd.png
​教大家如何屏蔽printf,cout,qDebug等打印信息。

1. MSVC编译器

  • 将两个“/”连接成“//”实现注释是MSVC编译器扩展功能。
#define cout /##/
#define printf /##/
#define qDebug /##/
  • 启用宏替换后变为注释语句
printf("Hello world!");
相当于: //("Hello world!")

cout << "Hello world!"; 
相当于: // <<("Hello world!")

qDebug() << "Hello world!"; 
相当于: // <<("Hello world!")

2. 直接关闭流

2.1 POSIX标准的编译器

#include <unistd.h>
close(STDOUT_FILENO);

2.2 调用stdio标准库

  • 注意:调用fclose()之后对流的任何使用导致了未定义的行为,不建议使用。
#include <stdio.h>
fclose(stdout);

2.3 使用注意

  • 关闭输出流后下列类似的打印将不会输出
  • 注意:关闭输出流后没有方法重新为它打开。
printf("Hello world!");
cout << "Hello world!";
qDebug() << "Hello world!";

3. Qt库实现

  • 在Qt项目文件添加以下定义:
  1. 屏蔽qInfo()
DEFINES += QT_NO_INFO_OUTPUT
  1. 屏蔽qDebug()
DEFINES += QT_NO_DEBUG_OUTPUT
  1. 屏蔽qWarning()
DEFINES += QT_NO_WARNING_OUTPUT

关于更多

  • 公众号后台回复"技巧"获取相关文章。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值