Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我们有 3 个带有自由文本的字符串,我需要将这些字符串合并为一个字符串,然后能够单独检索 3 个字符串。
我知道这根本不干净,但是在某些情况下您无法更改界面。因此,我正在寻找“伪清洁”解决方案。
我在想两个选项:-选择一个分隔符,在字符串上转义它,然后将它们与中间的 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);