0

这是代码:

// Latitude line edit
QLineEdit *lineEdit = new QLineEdit;
lineEdit->setInputMask( ">\N999999.99;_" );

但是,我收到编译器警告:未知转义序列“\N”和 QLineEdit 文本不包含“N”字符,只有“_”。我究竟做错了什么?比你们都提前。

4

1 回答 1

2

在 C++ 中,有一组定义的转义序列将特殊字符存储到字符串中。

实际上你很幸运,\N它不在这个集合中,因为那样你甚至不会收到编译器警告;警告的文本​​可能会让您了解转义序列(不幸的是,它没有)。

因为\是用来作为转义序列的前缀,所以不能直接使用;它必须自己逃脱:

">\\N999999.99;_"

>\N999999.99;_这在输出中编译为单个。

于 2014-03-19T12:48:12.447 回答