在不支持ANSI转义码的终端中,输出\033[0m这样的颜色控制码不仅没有任何效果,还会干扰终端。
我知道一个json格式化工具叫jq,它判断终端是否可以使用ANSI转义码。
我想知道,如何通过C语言实现这个功能?
这是该文件的源代码:
\n文件选择器.h:
\n#ifndef FILE_SELECTOR\n#define FILE_SELECTOR\n\nconst char *open_file_dialog();\n\nconst char *save_file_dialog();\n\n#endif\nRun Code Online (Sandbox Code Playgroud)\nlinux/文件选择器.cpp:
\n#include <cstring>\n#include "../fileselector.h"\n#include <iostream>\n\nconst char *open_file_dialog() {\n ...\n}\n\nconst char *save_file_dialog() {\n ...\n}\nRun Code Online (Sandbox Code Playgroud)\n这是我的静态库制作步骤:
\n$ gcc linux/fileselector.cpp fileselector.h -c\n$ ar rs libfileselector.a fileselector.o\nRun Code Online (Sandbox Code Playgroud)\n这是使用静态库的测试:
\n主程序
\n#include "fileselector.h"\n\nint main() {\n open_file_dialog();\n return 0;\n}\nRun Code Online (Sandbox Code Playgroud)\n$ gcc main.c -L. -lfileselector -o main\n/usr/bin/ld: /tmp/ccOTrMR8.o: in function `main\':\nmain.c:(.text+0xa): undefined reference to `open_file_dialog\'\ncollect2: error\xef\xbc\x9ald return 1\nRun Code Online (Sandbox Code Playgroud)\n哪里有问题?
\n