void FormatV (LPCTSTR lpszFormat、va_list argList );
パラメーター
lpszFormat
書式指定文字列。
argList
渡される引数の一覧。
解説
書式設定された文字列と引数の変数リストにCStringを記述するにはこのメンバー関数オブジェクトと同じように、 vsprintf呼び出しを C スタイルの文字配列にデータをフォーマットします。この関数は、形式、 CStringに一連の文字や値を格納します。引数、文字列は変換され、 lpszFormatに対応するフォーマットの仕様によると出力。
文字列オブジェクト自体をパラメーターとしてFormatVに提供される場合、呼び出しは失敗します。たとえば、次のコード:
CString str =「いくつかのデータ」;str。FormatV (「%s %d」、str、123); 特価;//注目: str パラメーター リストにも使用(&N)
予期しない結果が発生します。
詳細についてを参照してください vsprintf 「ランタイム ライブラリ リファレンス。
例
//Using CString::FormatV()、次のような関数を記述できます。void WriteLogEntry (CStdioFileamp、refFile、LPCTSTR pstrFormat、...){CTime timeWrite;timeWrite = CTime::GetCurrentTime();//時間を書くCString str = timeWrite.Format (「%d %b %y h: % m: %s-」);refFile.Write (str、str。GetLength(&));・ フォーマット ・私たち与えられた、データの書き込みva_list args;含む (args、pstrFormat);str。FormatV (pstrFormat、args);refFile.Write (str、str。GetLength());//は、改行を入れるrefFile.Write ('\n' 1);戻る;}
たとえば、上記の関数を任意の数のパラメーターを呼び出すことができます。:
特価;WriteLogEntry (fileLog、」プログラムを開始");WriteLogEntry (fileLog、「加工 %d バイト」、91341);WriteLogEntry (fileLog、「%d エラー「%d 行に、10、1351);WriteLogEntry (fileLog、「プログラムの完了」)(&N)
outputnbsp を追加する;fileLog ファイルに次のような(&N):
特価;97 年 4 月 17 日 12:34:53 - 起動プログラム97 年 4 月 17 日 12:34:59 - 91341 バイトを処理97 年 4 月 17 日 12:35:22 - 1351年行で 10 エラー97 年 4 月 17 日 12:35:23 - プログラムの完了(&N)
CString の概要|nbsp;クラス メンバー |階層図(&N)
参照特価;CString::Format、 含む(&N)