草庐IT

c++ ansi转义码不向控制台显示颜色

我正在尝试更改控制台中文本的颜色。我们应该使用配置文件从以下位置读取ansi转义码:这是我的文件red\033[0;31m#redblue\033[0;34m#bluegreen\033[0;32m#greengrey\033[0;37m#grey这是我的代码:#include#include#include#include#include#includeusingnamespacestd;intmain(intargc,char*argv[]){stringfile="config.txt";stringline="";stringtag="";stringansi="";mapm;

c++ - 管理退出程序的转义键

我不知道如何实现退出程序退出键的管理。我也不知道将它放在我的代码中的什么位置,因为如果我将它放在一个方法中,它怎么能在任何地方退出?这是我的实际代码:#include#include#include#include#include#include#include"LibQt.hpp"LibQt::LibQt():QWidget(){this->size_x=500;this->size_y=500;QWidget::setWindowTitle("ThePlazza");setFixedSize(this->size_x,this->size_y);manageOrder();}Lib

c++ - 用 boost spirit 解析转义的字符串

我正在使用Spirit2.4,我想解析这样的结构:文本{text_field};要点是在text_field中是一个带有符号'{'、'}'和'\'的转义字符串。我想使用qi为此创建一个解析器。我一直在尝试这个:usingboost::spirit::standard::char_;usingboost::spirit::standard::string;usingqi::lexeme;usingqi::lit;qi::ruletext;qi::rulecontent;qi::ruleescChar;text%=lit("Text")>>'{'>>content>>"};";conten

c++ - 最快的报价转义实现?

我正在编写一些规范化大量数据的代码。在处理结束时,许多key="value"对被写入文件。“值”部分可以是任何内容,因此在输出时,值必须将任何嵌入的引号转义为\"。现在,我正在使用以下内容:outstream但是,gprof显示我大部分执行时间都花在了这个方法上,因为我必须为每一行的每个值调用它。我很好奇是否有比这更快的方法。我不能使用std::replace,因为我要用两个字符替换一个字符。感谢您的任何建议。 最佳答案 如果速度是一个问题,您应该使用手写函数来执行此操作。请注意reserve()的使用,以尽量减少内存(重新)分配。

c++ - 转义序列?在 Qstring 中使用引号

我正在使用Qtcreator2.4。我需要在我的代码中使用字符串sayhi"world"。我曾尝试使用Qstring和std::string并且我知道/是转义序列字符,但IDE无法将其理解为一个转义序列并在我写的时候给出错误:"hi/"world/""我可以使用任何可以转换为Qstring的字符串格式。知道我做错了什么吗? 最佳答案 像这样使用它:QStringoutput="Hi\"world\"!"; 关于c++-转义序列?在Qstring中使用引号,我们在StackOverflow

c++ - 使用C/C++转义unicode字符

我需要将输入字符串中的Unicode字符转义为UTF-16或UTF-32转义序列。例如,输入字符串文字"Eat,drink,愛"应该转为"Eat,drink,\u611b"。以下是排序表中的规则:Escape|Unicodecodepoint'\u'HEXHEXHEXHEX|AUnicodecodepointintherangeU+0toU+FFFFinclusivecorrespondingtotheencodedhexadecimalvalue.'\U'HEXHEXHEXHEXHEXHEXHEXHEX|AUnicodecodepointintherangeU+0toU+10FFFF

c++ - VB换行转义字符?

在C中,我使用"1stline1\n2ndline"作为换行符,但是VB呢?我知道"1stline"&VbCrLf&"2ndline"但它太冗长了,VB中换行符的转义字符是什么?我要打印1stline2ndline我尝试使用\n但无论我运行编译器多少次它总是输出这个1stline\n2ndline有什么想法吗? 最佳答案 您应该使用Environment.NewLine。在Windows上计算为CR+LF,在Unix系统上计算为LF。VB中没有用于CR或LF字符的转义序列。这就是为什么"\n"被逐字处理的原因。所以,Environm

c++ - 转义(\)字符背后的魔法是什么

C/C++编译器如何操作源代码中的转义字符["\"]?如何编写用于处理该字符的编译器语法?遇到那个字符后,编译器会做什么? 最佳答案 大多数编译器分为几个部分:编译器前端称为lexicalanalyzer或扫描仪。编译器的这一部分读取实际字符并创建标记。它有一个状态机,在看到转义字符时决定它是真实的(例如,当它出现在字符串中时)还是修改下一个字符。token相应地作为转义字符或一些其他token(例如制表符或换行符)输出到编译器的下一部分(theparser)。状态机可以将几个字符组合成一个token。

c++ - 打印字符串而不转义字符

这段代码:voidController::write(conststd::string&str){std::cout接受string并将其通过串行链路推送到微Controller。(这很好用)。但是,当我尝试这样推送时:write("ats203?\r"),控制台输出如下所示:]toboard.ts203?所以Writing:[a被]toboard.覆盖在std::cout之后遇到\r在字符串中。当遇到转义字符时,如何将字符串打印为一堆字符而不是处理控制台输出?编辑:澄清。我希望我的字符串是ats203?\r.这是因为微Controller是使用略微修改的ATcommand版本控制的。

C++ 正则表达式,未知转义序列 '\.' 警告

我第一次尝试在C++中使用正则表达式,我对转义序列有点困惑。我只是想匹配字符串开头的点。为此,我使用了表达式:“^\\\.”,它有效,但我的编译器(g++)生成警告:warning:unknownescapesequence'\.'regexself_regex("^\\\.");^~如果我使用例如“^\\.”,它不会生成警告,但该正则表达式与我打算做的不匹配。我也不明白为什么我必须在“\”中使用三个反斜杠,两个就足够了吗?第一个反斜杠转义了第二个反斜杠,所以我实际上搜索了.,但它不起作用。有人可以为我澄清一下吗?代码:#include#include#includeusingname