用字符串格式运算符替换C++字符串
C++ string substitution with the string format operator
我对C++有点陌生,来自python。我真正怀念的一个功能是字符串格式运算符。我看过很多例子,这些例子可以在printf()函数中使用,但是,有时只替换字符串变量中的占位符很方便。以下是python中使用mysqldb模块的示例:
...
stmt = 'INSERT INTO %s(pid, starttime) VALUES("%s","%s")' % ('pids', int(p0.pid), episode[0][1])
cursor.execute(stmt)
你能用C++做一些类似的事情吗。我在谷歌上找不到任何例子。
查看Boost格式库。
它可以做一些类似的事情
str(format("writing %s, x=%s : %d-th step n") % "toto" % 40.23 % 50)
你的意思是,你想用许多字符串片段和变量组成一个字符串吗?
int someInt = 10;
std::wstringstream wss;
wss << L"Some string stuff and then " << someInt << L" which was an int" << std::endl;
然后,您可以将wstringstream的内容转换为其他格式。要获得一个C字符串,我相信调用应该是wss.str().C_str().