STD:像sprintf这样的字符串格式

STD:像sprintf这样的字符串格式

我必须格式化std::string带着sprintf并将其发送到文件流中。我该怎么做?



青春有我
浏览 773回答 3
3回答

慕码人8056858

您不能直接这样做,因为您没有对底层缓冲区的写访问权限(直到C+11;参见Dietrich Epp‘s)评语)。您必须先在c-字符串中执行该操作,然后将其复制到std:string中:&nbsp;&nbsp;char&nbsp;buff[100]; &nbsp;&nbsp;snprintf(buff,&nbsp;sizeof(buff),&nbsp;"%s",&nbsp;"Hello"); &nbsp;&nbsp;std::string&nbsp;buffAsStdStr&nbsp;=&nbsp;buff;但我不知道你为什么不使用字符串流?我假设你有明确的理由不这么做:&nbsp;&nbsp;std::ostringstream&nbsp;stringStream; &nbsp;&nbsp;stringStream&nbsp;<<&nbsp;"Hello"; &nbsp;&nbsp;std::string&nbsp;copyOfStr&nbsp;=&nbsp;stringStream.str();
打开App,查看更多内容
随时随地看视频慕课网APP