开发者

Is it recommended to use cstdio, cstring, cmath, etc. in C++?

Is it recommended to use cstdio,cstring,cmath in c++? I was writing a program that needed pow , strlen and sprintf ... for that the only way I could do it was to include these 3 headers. Is there a better C++ way to do 开发者_如何学Cit?

Thanks


You can use std::stringstream instead of sprintf and std::string instead of C-style strings. But C++ just uses the C library for math functions.

C++ adds some convenient overloads for math functions (e.g. you can use exp() for float.) They are available in <math.h> not only in <cmath> though.


That is the correct way.


For math functions, <cmath> is the correct way; however, for I/O, you should be using <iostream>, <sstream>, <fstream>, and friends. For string manipulation, <string> is the way to go.


cmath isn't really superseded in C++, since there's really nothing to make them better. However, stringstreams/iostreams are far far superior to the cstring and cstdio lot.

If you have a C string, you can convert to a std::string quite easily, and the same for back again. If you're using strings, ALWAYS use the C++ string libraries over strlen, sprintf, and that.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜