【发布时间】:2012-06-13 01:53:57
【问题描述】:
我正在使用 C++ 编程。
这个问题很基本,我似乎无法在任何地方找到答案。那么问题来了:
我想创建一个 C 风格的字符串,但是我想将一个整数变量 i 放入字符串中。所以很自然地,我使用了一个流:
stringstream foo;
foo
<< "blah blah blah blah... i = "
<< i
<< " blah blah... ";
但是,我需要以某种方式获取 C 风格的字符串以传递给函数(结果 foo.str() 返回一个 std::string)。所以这在技术上是一个由三部分组成的问题——
1) 如何将 std::string 转换为 C 风格的字符串?
2) 有没有办法从字符串流中获取 C 风格的字符串?
3)有没有办法直接使用C风格的字符串(不使用stringstreams)来构造一个包含整数变量的字符串?
【问题讨论】:
-
最简单的方法是使用流创建一个
itos函数,然后使用itos (564).c_str(),函数返回foo.str()。 -
sprintf()和 buffer-overflow-safesnprintf()将填充您指定格式的 cstring。
标签: c++ string cstring stdstring