小编典典

std::string 格式化,如 sprintf

all

我必须格式化std::string并将sprintf其发送到文件流中。我怎样才能做到这一点?


阅读 167

收藏
2022-03-08

共1个答案

小编典典

您不能直接执行此操作,因为您没有对底层缓冲区的写访问权。您必须首先在 c-string 中执行此操作,然后将其复制到 std::string
中:

  char buff[100];
  snprintf(buff, sizeof(buff), "%s", "Hello");
  std::string buffAsStdStr = buff;

但我不确定你为什么不只使用字符串流?我假设您有特定的理由不只是这样做:

  std::ostringstream stringStream;
  stringStream << "Hello";
  std::string copyOfStr = stringStream.str();
2022-03-08