最近遇到一个问题,需要将字符串按格式拼接发送给服务端,然后获取结果,网上查找一些资料后发现sprintfstringstream能满足我的需求,其中sprintfC的函数,stringstreamC++的函数,这里记录一下使用过程。

示例

需要将三维坐标点按照固定格式变成字符串,然后再发送给服务端。

  • sprintf
std::string data;
for (auto p = coord.begin(); p != coord.end(); ++p) {
    char buffer[50];
    int n = sprintf(buffer, "p %lf %lf %lf\n", (*p).x(), (*p).y(), (*p).z());  
    std::string tmp = buffer;
    data += tmp;
}

  • stringstream
#include <sstream>
std::string data;
std::stringstream ss;
for (auto p = coord.begin(); p != coord.end(); ++p) {
    ss << "p " << (*p).x() << " " << (*p).y() << " " << (*p).z() << "\n";   
}

data = ss.str();

参考链接

C++字符串格式化的几种方式

c++ stringstream(老好用了)

相关文章:

  • 2021-07-27
  • 2022-01-18
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-22
  • 2021-11-12
  • 2021-11-30
相关资源
相似解决方案