Могу ли я использовать cstdio в программе на C? - PullRequest
2 голосов
/ 12 мая 2010

Я получаю кучу ошибок в cstdio при добавлении #include <cstdio> к программе C.

c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\cstdio(17) : error C2143: syntax error : missing '{' before ':'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\cstdio(17) : error C2059: syntax error : ':'

Спасибо

РЕДАКТИРОВАТЬ - я хотел бы использовать snprintf , поэтому я пытаюсь включить это.

Ответы [ 3 ]

7 голосов
/ 12 мая 2010

Вы хотите #include <stdio.h>. cstdio - это оболочка C ++ для заголовка C.

Редактировать: MSVC поддерживает только элементы в C99, которые образуют подмножество C ++.

Этот сайт имеет реализацию C snprintf(), лицензированную по лицензии GPL.

1 голос
/ 12 мая 2010

MSVC предлагает функцию _snprintf в stdio.h.

Если вы предпочитаете не использовать нижнее подчеркивание, вы можете:

#include <stdio.h>
#define snprintf _snprintf

Это функция библиотеки C, не относящаяся конкретно к C ++ (хотя вы также можете использовать ее там).

1 голос
/ 12 мая 2010

В Visual Studio я считаю, что вам нужно использовать sprintf_s или что-то подобное. См. это. Там также vsnprintf .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...