コードは次のとおりです。
// Latitude line edit
QLineEdit *lineEdit = new QLineEdit;
lineEdit->setInputMask( ">\N999999.99;_" );
しかし、コンパイラの警告が表示されます: 不明なエスケープ シーケンス '\N' と QLineEdit テキストには 'N' 文字が含まれておらず、'_' のみが含まれています。私は何を間違っていますか?皆様、どうぞよろしくお願いいたします。
コードは次のとおりです。
// Latitude line edit
QLineEdit *lineEdit = new QLineEdit;
lineEdit->setInputMask( ">\N999999.99;_" );
しかし、コンパイラの警告が表示されます: 不明なエスケープ シーケンス '\N' と QLineEdit テキストには 'N' 文字が含まれておらず、'_' のみが含まれています。私は何を間違っていますか?皆様、どうぞよろしくお願いいたします。
C++ では、特殊文字を文字列に格納するための一連の定義済みエスケープ シーケンスがあります。
\Nこのセットに含まれていない場合は、コンパイラの警告さえ表示されないため、実際には幸運です。警告のテキストから、エスケープ シーケンスについて学ぶことができたはずです(残念ながら、そうではありませんでした)。
はエスケープ シーケンスのプレフィックスとして使用されるため、\直接使用することはできません。それ自体をエスケープする必要があります。
">\\N999999.99;_"
これは、出力で単一>\N999999.99;_にコンパイルされます。