ここで、プログラムの目的は、可変引数リストから4つの名前を取得し、vsprintf()を使用してそれらを「total」と呼ばれる単一の文字列に連結することです。現在のプログラムのように、文字列'total'には名のみが表示されます。どうすればこの問題を解決できますか?ありがとう :)
1 に答える
3
署名はint vsprintf(char *str, const char *format, va_list ap);
です。
2番目の引数は通常のprintf
フォーマット文字列です...だから:
void concat(char *total, ...)
{
va_list pointer;
va_start(pointer, total);
vsprintf(total, "%s %s %s %s", pointer);
va_end(pointer);
}
もちろん、これは正確に4つの文字列でのみ機能しますが、これをで実装するように要求しましたvsprintf
。これは、一般的なケースでは機能しません。
注:あなたは行方不明です<stdio.h>
、そしてそれはですint main()
。
于 2012-10-10T16:21:16.033 に答える