我正在使用第三方代码,它有自己的 std::ostream operator<< 实现,来处理第三方的类型。我为此输出使用 stringstream - 例如:
string ToString(const thrdPartyType& structure)
{
stringstream outputStream;
outputStream<<structure;
return outputStream.str();
}
...
string str = ToString(structure);
...
此结构包含设置为 NULL 的指针成员。当使用 operator<< 并将 of 赋值str()
为字符串时,我看到(通过 gdb - print str
)有许多前导 '\000' 字符,然后是我需要的字符串数据。
我怎样才能修剪那些 NULL 以便只获得真实的而不是空的数据?
PS 确切的代码在 Windows VC++ 中运行良好...
谢谢你。