sprintf

mbedでstdは使えるけどboostが使えないのでsprintfの使い方を勉強した。
c++のstringとcのchar配列を行ったり来たりするのがめんどい・・


test.cpp

#include <iostream>
#include <string>
#include <stdio.h>

using namespace std;

int main(int argc, char* argv[]){
  string result_str;
  char result[128];

  string hostname = "sho-macbook";
  sprintf(result, "id=%d&value=%f&hostname=%s", 35, 0.3, hostname.c_str());
  printf("%s\n",result);

  result_str = result;
  cout << result_str << endl;
}
g++ test.cpp && ./a.out
id=35&value=0.300000&hostname=sho-macbook
id=35&value=0.300000&hostname=sho-macbook