c++编程思想中习题3-8的trigraph程序及实现

问题发现:

这个程序在我用的编程软件Qt上会出现trigraph ignored警告,然后输出是看不到正确结果的,虽然编译环境不同,但我想大家应该都会遇到,下面是解决过程

解决步骤:

方法一:

最直接的如下图,以我用的Qt为例,选中项目(Project)–>调试工具(Run)–>命令行参数(commandline argument),键入-trigraph参数即可,大多数编程软件应该都差不多。
c++编程思想中习题3-8的trigraph程序及实现_第1张图片
结果挺伤人,应该是MinGW编译器不支持trigraph,但我觉得大家可以试试,下面还有方法二。
c++编程思想中习题3-8的trigraph程序及实现_第2张图片

方法二:

如下图,这是Windows系统下的解决方案,先打开cmd,然后按下图步骤输命令就行了:
c++编程思想中习题3-8的trigraph程序及实现_第3张图片
输出成功,但就是还有“??/”这个三图形字符没成功显示,功力不够解决这个问题见谅了。
同样的思路我在我的云机(debian系统同样g++编译器)下没成功,不知道咋回事了。等一个大佬捞我

代码如下:

//: 3-8.cpp
//trigraph      letter
//  ??=         #
//  ??(         [
//  ??)         ]
//  ??<         {
//  ??>         }
//  ??/         \
//  ??!         |
//  ??'         ^
//  ??-         ~

#include 
using namespace std;

int main()
{
    cout<<"test : "<<"??="<<endl;
    cout<<"test : "<<"??("<<endl;
    cout<<"test : "<<"??)"<<endl;
    cout<<"test : "<<"??<"<<endl;
    cout<<"test : "<<"??>"<<endl;
    cout<<"test : "<<"??/"<<endl;   // get stucked here
    cout<<"test : "<<"??!"<<endl;
    cout<<"test : "<<"??'"<<endl;
    cout<<"test : "<<"??-"<<endl;
    return 0;
}///:~

你可能感兴趣的:(编程笔记,#,c++,c++)