<string.h>是就的C头文件,对应的是基于char的字符处理函数。
<Cstring>是对应于旧文件的std版本,主要用在MFC中 。
<string>是包装了std的C++头文件。是新的string类,其中对应char和wchar_t,而这对应的命名空间分别是using std::string和using std::wstring,当然两者可统一使用using namespace std。
结论:<string.h>和<csting>基本没区别,<sting.h>和<string>是两个不同的头文件。
如果你想用strcat函数你就要添加<string.h>头文件,如果你想用到find函数你就要添加<string>的头文件了。
不过,相信你想这儿会想到CString类,它和上面提到的String类有什么区别呢?
CString是属于MFC的类,string类是属于标准c++库的,而且使用CString时要添加头文件"afx.h",不过通常添加“stdafx.h"即可。
具体参见:https://blog.csdn.net/wingofeagle/article/details/9326429