asprintfは_vscprintfで代用可能ぽい

  • 投稿日:
  • by
  • カテゴリ:

asprintfはGNU拡張らしいですが、たまにみかけます。

http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/asprintf.3.html

 

Windows上で代用するには、_vscprintfがよさそうです。

http://msdn.microsoft.com/ja-jp/library/w05tbk72%28v=vs.80%29.aspx

 

asprintfの第2第3引数を_vscprintfに食わせて、返り値をmallocに突っ込めばよい。

 

// asprintf()がうまやらしい・・・

int len = _vscprintf( “書式文字列”, 引数・・・・);

char* p = malloc( len+1 );

memset(p, 0,len+1);

snprintf(p,  len, “書式文字列”, 引数・・・・ );