string h,string和stringh的区别

1 , string和stringh的区别<string><string>是C++标准定义的头文件,它定义了一个string的字符串类 , 里面包含了string类的各种操作 , 如s.size(), s.erase(), s.insert()等 。但<string>又包含了老的C版本的字符串操作如strcpy、strcat等,这就相当于,在<string>的文件中除了定义自己的string类之外,还加了一个#include<string.h>一句包含了C版本的字符串操作 。<string.h><string.h>是C版本的头文件,包含比如strcpy、strcat之类的字符串处理函数 。【string h,string和stringh的区别】
2,c里的stringhstring.h是c语言处理字符串的一些相关函数的头文件.而string是C++的头文件,其中包含string类,两者是不一样的,你那段代码要这样写#include <string>#include <iostream>using namespace std;void main(void)string a="dj";cout<<a;}我来告诉你 。这是初学者使用 CString 时最常见的问题 。有了 C++ 的帮助,很多问题你不需要深入的去考虑它,直接拿来用就行了,但是如果你不能深入了解它的运行机制,又会有很多问题让你迷惑 , 特别是有些看起来没有问题的代码,却偏偏不能正常工作 。比如,你会奇怪为什么不能写向下面这样的代码呢:CString graycat = "Gray" + "Cat"; 或者这样:CString graycat("Gray" + "Cat");事实上,编译器将抱怨上面的这些尝试 。为什么呢?因为针对CString 和 LPCTSTR数据类型的各种各样的组合,“ +” 运算符 被定义成一个重载操作符 。而不是两个 LPCTSTR 数据类型 , 它是底层数据类型 。你不能对基本数据(如 int、char 或者 char*)类型重载 C++ 的运算符 。你可以象下面这样做:CString graycat = CString("Gray") + CString("Cat"); 或者这样:CString graycat = CString("Gray") + "Cat";

    推荐阅读