1、#include <algorithm>//STL 通用算法
2、#include <bitset>//STL 位集容器
3、#include <complex>//复数类
4、#include <deque>//STL双端队列容器
5、#include <exception>//异常处理类
6、#include <list>//STL 线性列表容器
7、#include <map>//STL 映射容器
8、#include <ios>//基本输入/输出支持
9、#include <iosfwd>//输入/输出系统使用的前置声明
10、#include <ios>//基本输入/输出支持
C语言标准库中一个常用的头文件,在使用到字符数组时需要使用。string .h 头文件定义了一个变量类型、一个宏和各种 *** 作字符数组的函数。C语言里面关于字符数组的函数定义的头文件,常用函数有strlen、strcmp、strcpy等等。
扩展资料
一般在C++的库中,对于一个旧的,也就是带“.h”扩展名的库文件(比如iostream.h),在新标准后的标准库中都有一个不带“.h”扩展名的与之相对应,区别除了后者的好多改进之外,还有一点就是后者的东东都塞进了“std”名字空间中。
但唯独string特别。问题在于C++要兼容C的标准库,而C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数。这个头文件跟C++的string类半点关系也没有,所以 <string>并非 <string.h>的“升级版本”,
参考资料来源:百度百科-string.h
IndexOf()返回一个下标值,从这个下标值开始求长度为data1.Length的子串,但字串的长度小于data1.Length长度,调用Substring就出错了,应该是这样的! 你用data1.Length-data1.IndexOf("_")-1 试一下。。。
Substring()是求子串函数,第一个变元为起始位置下标,第二个位置为字串长度
还有一个重载函数是 只有一个变元 就只是表示起始位置长度,你这里用这个个比较好,直接求出从该位置到字符串末尾的字串
由于我不知道你的bool具体的定义,我就用1和0来代表是否出现bool IsSubstring(char*str,char*substr)
{
int n
if (*substr)
{
while (*str)
{
for (n=0*(str + n) == *(substr + n)n++) //找到第一个相同字符开始,依次对应比较
{
if (!*(substr + n + 1))
return 1//返回1表示出现
}
str++
}
return 0//返回0表示未出现
}
else //substr为空字符串,则应该是表示出现
return 1
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)