Включение заголовков C в программу C ++ - PullRequest
32 голосов
/ 25 июля 2010

У меня есть программа на C ++ (.cpp), внутри которой я хочу использовать некоторые функции, присутствующие в заголовочных файлах C, такие как stdio.h, conio.h, stdlib.h, graphics.h, devices. ч и т. д.

Я мог бы включить библиотеку stdio.h в мой cpp-файл как: #include <cstdio>. Как включить другие файлы библиотеки?

Как добавить библиотеку graphics.h?

Я использую Microsoft Visual Studio 6.0 Enterprise Edition, а также Turbo C ++ 3.0.

Ответы [ 5 ]

58 голосов
/ 25 июля 2010

Для получения списка стандартных C-заголовков C (stdio, stdlib, assert, ...), добавьте ac и удалите .h.Например, stdio.h становится cstdio.

Для других заголовков используйте

extern "C"
{
  #include "other_header.h"
}
35 голосов
/ 26 июля 2010
#ifdef __cplusplus
extern "C"
{
#endif

// your functions here for the header

#ifdef __cplusplus
}
#endif

Этот формат поможет вам без проблем использовать заголовочные файлы для C и C ++ ...

Надеюсь, это поможет ...:)

6 голосов
/ 25 июля 2010

Я не уверен, что именно вам нужно, но если вы хотите использовать старомодные функции C внутри вашей программы C ++, вы можете легко включить их, удалив .h и добавив префикс "c".

например, если вы хотите включить math.h используйте

#include <cmath>
3 голосов
/ 25 июля 2010

Просто включите их в блок extern "C", и они должны работать как положено.

1 голос
/ 25 июля 2010

Вы можете #include использовать их оригинальные имена. #include <stdio.h> прекрасно работает в C ++.

...