将多个字段合并为一个字段

Merger several Fields into a single one

本文关键字:字段 一个 合并      更新时间:2023-10-16

假设我们有 3 个带有自由文本的字符串,我需要将这些字符串合并为一个字符串,然后能够单独检索 3 个字符串。

我知道这根本不干净,但在某些情况下您无法更改界面。因此,我正在寻找一种"伪干净"的解决方案。

我在想 2 个选项:-选择一个分隔符,在字符串上转义它,然后将它们与中间的 SEP 连接起来。-以某种方式选择分隔符和字节码字符串并将它们连接字节编码。

提前谢谢。

通常,

这是使用零位符完成的,因为这永远不会发生在 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);
相关文章: