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 }