-1

ここで、プログラムの目的は、可変引数リストから4つの名前を取得し、vsprintf()を使用してそれらを「total」と呼ばれる単一の文字列に連結することです。現在のプログラムのように、文字列'total'には名のみが表示されます。どうすればこの問題を解決できますか?ありがとう :)

4

1 に答える 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 に答える