substr()函数
注意:string str =“Hello”;
substr(0,4)=“Hell”,0是起始位置,4是要复制的长度,strlen函数输出的是除了结束符"\0"的长度。
编程示例:输入一行字符串,找出其中出现的相同且长度最长的字符串,输出它及首字母的位置。例如“ascscd”,输出结果为sc和2.
1 int main()
2 {
3 string str,tep;
4 cout << "input string:" << endl;
5 cin >> str;
6 cout << str.substr(0, 5) << endl;
7 int n = str.length();
8 for (int i = n - 1; i > 1; i--)
9 {
10 for (int j = 0; j < n; j++)
11 {
12 size_t t = 0;
13 size_t num = 0;
14 tep = str.substr(j, i);//从大到小取子串,不包括i的位置的元素
15
16 t = str.find(tep);//正序查找
17 num = str.rfind(tep);
18 if (t != num)
19 {
20 cout << tep << " " << t + 1 << endl;
21 break;
22 }
23 }
24 }
25 return 0;
26 }