1. 程式人生 > 其它 >與字串相關的STL和演算法

與字串相關的STL和演算法

技術標籤:字串字串c++

讀入一行

string s;
getline(cin, s);

讀入一個單詞

string s;
cin >> s;

讀入一個字母

char s;
cin >>s;

count

#include<bits/stdc++.h>
using namespace std;
int main() {
	string s;
	int n;
	getline(cin, s);
	n = count(s.begin(), s.end(), ' ');
	cout << n;
	return 0;
}

在這裡插入圖片描述

find

#include<bits/stdc++.h>
using namespace std;
int main() {
	string s;
	int n;
	getline(cin, s);
	int i = s.find('i');
	cout <<i;
	return 0;
}

在這裡插入圖片描述
在這裡插入圖片描述

統計一個子字串在另一個字串中出現的次數

int proc(char* str, char* sub)
{
	int n;
	char* p, * r;
	n = 0;
	while (*str){
		p = str;
		r = sub;
		while (*r){
			if (*p == *r){
				p++;
				r++;
			}
			else
				break;
		}
		if (*r == '\0') n++;
		str++;
	}
	return n;
}

數字轉字元

 string s="1234";
 int i;
 stringstream ss;
 ss<<s;
 ss>>i;
 cout<<i;

substr

/**begin是頭迭代器,end是尾迭代器*/
string s="5418340";
s=s.substr(1,3);//取418,取索引為1,往後截斷3個
s=s.substr(1,-1);//索引為1,截斷到最後
cout<<s;