通知
すべてクリア
Topic starter
2006年5月3日 3:53 PM
sprintfの書式を見てみると
int sprintf(char *str,const char *format,...);
となっていますが、これを自分で表現する方法がわかりません。
なぜいくつもの引数を付けることができるのか理解できないのですが、
自分で作ってみたいと思いまして質問させてもらいました。
作る関数の書式は
int sf(char *str,const char *format,...)
{
// ここからどのように不規則な数の引数を認識するかわかりません。
}
言語はCまたはC++でよろしくお願いしますペコリ(o_ _)o))
2006年5月3日 5:50 PM
意地悪を言うわけではないですが
sprintfのソースを見てみるとわかりますよ。私も以前、同じ疑問を持ち、そうしまし
た。
2006年5月3日 5:58 PM
つvsprintf
2006年5月3日 9:33 PM
va_listとその関連マクロを使います。
フォーマット文字列を見ながら取り出すべき型を判断してva_argで取り出します。
(型が決め打ち出来るならその限りではないけど)
http://msdn2.microsoft.com/ja-JP/library/kb57fad8.aspx
Topic starter
2006年5月4日 12:20 AM
たけさん Banさん、通りすがりさん、Blueさん、ありがとうございます。
「stdarg.h」のva_arg、va_end、va_startを使うことにより無事に解決しました。
本当に感謝です!
o(・∇・o)(o・∇・)o