エスケープされていない文字列をstd::string
に入力する最も無痛な方法は何でしょうか?C++でstd :: stringをエスケープ文字なしで定義する
代わりのような
std::string st = "C:\\program files\\myFile.txt";
何か:(正しく文字をエスケープすることにより、動作しません)。
std::string st = "C:\program files\myFile.txt";
エスケープされていない文字列をstd::string
に入力する最も無痛な方法は何でしょうか?C++でstd :: stringをエスケープ文字なしで定義する
代わりのような
std::string st = "C:\\program files\\myFile.txt";
何か:(正しく文字をエスケープすることにより、動作しません)。
std::string st = "C:\program files\myFile.txt";
C & C++文字列のみをエスケープするには、\を使用してサポートし、あなたがそれを使用する必要があります。たくさんのパスがあれば、エディタで開き、\を一括置換することをお勧めします。
FYI:juanchopanzaの答えを読んで、生の文字列のリテラルが最終的にそれらの出現をしました。 –
あなたはC++ 11 raw string literalsでそれを行うことができます。ファイル名の
std::string st = R"(C:\program files\myFile.txt)";
ワイド文字用のLR。文字列の先頭と末尾の区切り文字は2文字シーケンスであるため、構文は私を最初に混乱させました... "(...と...)" –
この構文はうんざりです。 ()を引用符で囲んだのは誰の明るい考えですか?そして、別のバージョンのR "区切り文字(delimiter)"はさらに悪いです。 – Andrew
どのようにしてビルドしていますか?コンテンツを '.txt'ファイルに保存し、それを.'h'ファイルに変換する' Makefile'ルールを追加できますか? –
@MikeSamuel、私はVisual Studioを使用しています。 –
質問で何が間違っていると説明できますか? –