我正在使用C++编程。
虽然这个问题很基础,但我似乎无法在任何地方找到答案。所以这就是问题:
我想创建一个 C 风格的字符串,但我想把一个整数变量 i 放进字符串中。因此,我自然而然地使用了流:
虽然这个问题很基础,但我似乎无法在任何地方找到答案。所以这就是问题:
我想创建一个 C 风格的字符串,但我想把一个整数变量 i 放进字符串中。因此,我自然而然地使用了流:
stringstream foo;
foo
<< "blah blah blah blah... i = "
<< i
<< " blah blah... ";
然而,我需要以某种方式获得一个C风格的字符串以传递给函数(结果证明foo.str()返回一个std :: string)。因此,这在技术上是一个三部分问题--
1)如何将std :: string转换为C风格的字符串?
2)有没有一种方法可以从stringstream中获取C风格的字符串?
3)是否有一种方法可以直接使用C风格的字符串(而不使用stringstreams)来构造一个带有整数变量的字符串?
itos
函数,并使用itos(564).c_str()
,其中函数返回foo.str()
。 - chrissprintf()
和安全的缓冲区溢出函数snprintf()
将按照您指定的格式填充 C 字符串。 - jedwards