0

フリーテキストのある3つの文字列があるとすると、文字列を1つにマージして、後で3つの文字列を個別に取得できるようにする必要があります。

これはまったくきれいではないことは知っていますが、インターフェースを変更できない状況がいくつかあります。したがって、私は「疑似クリーン」ソリューションを探しています。

私は2つのオプションを考えていました:-セパレーターを選択し、文字列上でエスケープして、中央のsepと連結します。-何らかの方法で文字列の区切り文字とバイトコードを選択し、それらをバイトコードで連結します。

前もって感謝します。

4

1 に答える 1

3

これはC文字列では発生しないため、通常、これはゼロ区切り文字を使用して行われます。

それで:

string a, b, c = ...;

ostringstream o;
o << a << char(0) << b << char(0) << c;
string s = o.str();

...

auto i = s.find(char(0),0);
a = s.substr(0,i);
auto j = s.find(char(0),i+1);
b = s.substr(i+1, j-i-1);
c = s.substr(j+1);
于 2012-10-02T08:43:43.387 に答える