How to convert an std::string to C-style string
我是用C++编程的。
尽管这个问题很基本,但我似乎在任何地方都找不到答案。问题是:
我想创建一个C样式的字符串,但是我想将一个整型变量i放入字符串中。所以自然,我用了一条小溪:
1 2 3 4 5 | stringstream foo; foo <<"blah blah blah blah... i =" << i <<" blah blah..."; |
但是,我需要某种方式让C风格的字符串传递给函数(原来是Fo.Strand)返回一个STD::字符串。所以这是一个由三部分组成的问题--
1)如何将STD::字符串转换成C风格字符串?
2)是否有方法从Stringstream中获取C样式的字符串?
3)是否有一种直接使用C样式字符串(不使用StringStreams)来构造包含整数变量的字符串的方法?
1) How do I convert std::string to a C-style string?
只需调用
2) Is there a way to get a C-style string from a stringstream?
有,简单地说就是
3) Is there a way to use a C-style string directly (without using stringstreams) to construct a string with an integer variable in it?
有C方法,使用
你已经走到一半了。你需要
这真的很简单
1 2 3 | #include std::string s("Hello"); CString cs(s.c_str()); |
不
您可以使用sprintf格式化C样式字符串