views:

155

answers:

5

I have a C++ program (.cpp) inside which I wish to use some of the functions which are present inside the C header files such as stdio.h, conio.h, stdlib.h, graphics.h, devices.h etc.

I could include the stdio.h library inside my cpp file as : #include <cstdio>. How do I include the other library files?

How do I add the graphics.h library?

I'm using Microsoft Visual Studio 6.0 Enterprise Edition and also Turbo C++ 3.0.

+1  A: 

Just include them inside a extern "C" block an they should work like expected.

Axel Gneiting
+10  A: 

For a list of C standard C headers (stdio, stdlib, assert, ...), prepend a c and remove the .h. For example stdio.h becomes cstdio.

For other headers, use

extern "C"
{
  #include "other_header.h"
}
Scharron
+1  A: 

I'm not sure what you need exactly, but if you want to use old fashioned C functions inside you C++ program, you can easy include them by removing the .h and add a "c" prefix.

for example if you want to include math.h use

#include <cmath>
MBZ
A: 

You can #include them using their original names. #include <stdio.h> works just fine in C++.

Steven
The C standard headers are required to work in standard C++, although you may be putting more than you like into the global namespace. Non-standard headers, like conio.h or graphics.h, may not be set up properly, and may need to be wrapped in `extern "C" { ... }`. Check your implementation documentation.
David Thornley
A: 

ifdef __cplusplus

extern "C" {

endif

// ur functions here for the header

ifdef __cplusplus

}

endif

This format should help you use the header files for both C and C++ without any problem ...

Hope this helps...:)

ravi