iostream使用<<构造字符串

时间:2010-01-30 15:29:21

标签: c++ iostream

怎么能<<用于构造字符串ala

int iCount;
char szB[128];
sprintf (szB,"%03i", iCount);

3 个答案:

答案 0 :(得分:7)

using namespace std;    
stringstream ss;
ss << setw(3) << setfill('0') << iCount;
string szB = ss.str();

答案 1 :(得分:4)

#include <iostream>
#include <sstream>
#include <iomanip>
#include <string>

using namespace std;

int main() {
    int iCount = 42;
    ostringstream buf;
    buf << setw(3) << setfill('0') << iCount;
    string s = buf.str();
    cout << s;
}

答案 2 :(得分:2)

  

怎么能&lt;&lt;用于构造字符串ala

这没有任何意义。

如果你想做类似的事情,请在C ++中使用std::ostringstream

 std::ostringstream s;
 int x=<some_value>;
 s<< std::setw(3) << std::setfill('0') <<x;
 std::string k=s.str();