printf()の簡略化されたバージョンを作成しようとしていますが、va_list、va_start、va_arg、va_endを使用していません。
私の最初のアイデアは次のとおりです。
void my_printf(char * format、...);
次に、形式を確認し、%(引数)の数を数えて、関数に渡された変数の数を調べます。そこから、引数の数に基づいてバッファーを作成し、それを組み合わせて、write()を使用して最終的にそれらを出力することを考えていました。
この問題に取り組むためのより良い方法はありますか?計画で問題が発生しますか?
どんな助けでも大歓迎です。
私のブレーンストーミングコードのいくつかは次のとおりです。
// Count arguments
int cnt_s, cnt_c, cnt_d, cnt_u, cnt_x;
for (; *format; format++) {
switch(format[0]) {
case '%':
switch(format[1]) {
case 'd':
cnt_d++;
}
}
}