Какие заголовки должны быть включены, чтобы использовать wsprintf с MinGW

#c #include #mingw

#c #включить #mingw

Вопрос:

Кажется, я могу скомпилировать код, который вызывает wsprintf с MinGW gcc , если у меня есть эти includes (в таком порядке):

 #include <stdarg.h>
#include <wingdi.h>
#include <winuser.h>
  

Но я чувствую, что может быть какой-то «более чистый» способ сделать это. Возможно, с включением только одного заголовка. Я пришел к этому списку путем поиска в файлах заголовков отсутствующих символов, а затем включил заголовки один за другим.

Ответ №1:

Ответ №2:

Вы имеете в виду swprintf() ?

swprintf() описано в стандарте C99. Вам нужно <wchar.h> .

Если wsprintf выполняется то же самое, что и swprintf , вы можете рассмотреть возможность использования стандартной функции вместо этого.

 7.24.2.3 Функция swprintf

 Краткий обзор

 [#1]

 #включить <wchar.h> 
 int swprintf(wchar_t * restrict s, 
 size_t n, 
 const wchar_t * ограничить формат, ...);

 Описание

 [#2] Функция swprintf эквивалентна fwprintf, за исключением 
 что аргумент s задает массив широких символов 
 в который должен быть записан сгенерированный вывод, а 
 чем записываться в поток. Не более n символов шириной 
 записываются, включая завершающий широкий символ null, 
 который добавляется всегда (если n не равно нулю).

Ответ №3:

Вы имеете в виду стандартную функцию swprintf ? В этом случае вы должны включить wchar.h .

Комментарии:

1. нет, wsprintf . Я действительно пытался wchar.h в какой-то момент, но, похоже, это не сработало.

2. windows.h должен работать