元々CStringであるhtml/xmlドキュメントがあり、すべての改行を削除して、基本的にすべてを1行にまとめたいと考えています。std :: Stringに変換して、次を使用してみました。
#include <algorithm>
#include <string>
str.erase(std::remove(str.begin(), str.end(), '\n'), str.end());
しかし、それはうまくいきませんでした。
テキストのブロックが奇妙に見えるのを防ぐために、改行をスペースに置き換える必要があります。改行('\ n')文字とキャリッジリターン('\ r')文字の両方を必ず置き換えてください。
CString str = "Line 1 Windows Style\r\n Line 2 Unix Style\n Line 3";
str.Replace('\r', " ");
str.Replace('\n', " ");
str.Replace(" ", " ");
メソッドremoveを使用するだけで済みます
CString str = _T("Test newline \nremove"), str2;
str.Remove('\n');