std::string 中の"\n"を改行コードに変換する関数。
文字列中の"\n"を改行コードの変換する必要があったので、STLを使って書いてみた。"\n"は2文字の¥とnであって、改行文字のリテラルではないです。
std::string YennToCR(std::string s) { std::string YenN = "\\n"; std::string CR = "\n"; std::string::size_type pos = s.find_first_of(YenN, 0); while(std::string::npos != pos){ s.replace(pos, YenN.length(), CR); pos = s.find_first_of(YenN, pos); } return s; }
テストコード
int main() { std::string s; s = "いら\\nっしゃ\\nいませ。"; cout << s << endl; cout << YennToCR(s) << endl; return 0; }
出力結果
いら\nっしゃ\nいませ。 いら っしゃ いませ。