CString::Format

Этот метод записывает отформатированные данные в объект СString тем же самым способом, которым sprintf форматирует данные в массив символов C-стиля (форматирует и сохраняет ряд символов и значений). Каждый дополнительныйый параметр преобразуется и выводится согласно соответствующей спецификации формата в lpszFormat или строкового ресурса, идентифицированного nFormatID.

void AFX_CDECL Format(

LPCTSTR lpszFormat, ...);

void AFX_CDECL Format(

UINT nFormatID, ...);

Параметры

lpszFormat

Определяет строку управления форматом.

nFormatID

Определяет идентификатор строкового ресурса, который содержит строку управления форматом.

Замечания

Запрос будет неудовлетворен, если сам строковый объект предлагается как параметр Format. Например, следующий код:

CString str = "Some Data";

str.Format(_T("%s%d"), str, 123) ); /* Внимание: str также используется в списке параметра.*/

результаты будут непредсказуемыми.

Когда Вы передаете символьную строку в качестве дополнительного параметра, Вы должны явно привести ее к LPCTSTR. Формат имеет ту же самую форму и функцию как параметр формата для функции tprintf. (Для описания формата и параметров, см. tprintf вСправочном руководстве по Run-Time Library .) . Нуль-терминатор будет добавлен в конец строки.

Пример

CString str;

str.Format(_T("С плавающей запятой: %.2f\n"), 12345.12345);

_tprintf(_T("%s"), (LPCTSTR) str);

str.Format(_T("Выровненное по левому краю целое число: %.6d\n"), 35);

_tprintf(_T("%s"), (LPCTSTR) str);

str.Format(IDS_SCORE, 5, 3);

_tprintf(_T("%s"), (LPCTSTR) str);

Результат:

Если приложение имеет строковый ресурс с идентификатором IDS_SCORE, который содержит строку "Пенгвины: %d\nЛетчики : %d\n", вышеупомянутый кодовый фрагмент производит такой вывод:

С плавающей запятой: 12345.12

Выровненное по левому краю целое число: 000035

Пингвины: 5

Летчики: 3

 

См. Также

CString::GetBuffer