lukmac
lukmac

Reputation: 4841

include string or string.h

To use memset(), what is the difference between

#include <string>       //did not work

and

#include <string.h>     //worked

Thanks!

Upvotes: 18

Views: 39527

Answers (2)

RushPL
RushPL

Reputation: 4805

<string> is a C++ standard library include, and <string.h> is C standard library include.

The equivalent of <string.h> in C++ is <cstring>, although both will work.

The difference is: <cstring> wraps everything in the std namespace whereas <string.h> puts everything in the global namespace.

Also, expect some stricter type safety rules from <cstring>.

Upvotes: 36

Ernest Friedman-Hill
Ernest Friedman-Hill

Reputation: 81704

In a modern C++ environment, you would #include <cstring> to get memset().

Upvotes: 6

Related Questions