C/C++:关于std::stringstream的使用

(环境:Win7 64位, C++ builder 2010)

C/C++中使用std::stringstream使用频率较低,一般使用的是snprintf之类的函数。鉴于snprintf之类的函数可能会由于格式化不匹配导致异常出现,或者缓冲区溢出等等问题,std::stringstream还是有一定的优势的。

std::stringstream可以在各个类型间很方便的进行转换。需要注意的就是clear()函数并不是清除内容,只是修改内部状态标识;清空内容可以使用函数str()。示例代码如下:

#include <sstream>

int _tmain(int argc, _TCHAR* argv[])
{
    std::stringstream strStream;

    char szBuffer[32] = "abc123";

    strStream << szBuffer;
    printf("%s\n", strStream.str().c_str());
    
    strStream.str("");
    
    strStream << 100.123;
    strStream.put('Q');
    strStream << 200;
    strStream.put('A');

    printf("%s\n", strStream.str().c_str());
    
    system("pause");
    
    return 0;
}


你可能感兴趣的:(C/C++:关于std::stringstream的使用)