您的位置:首页 > 编程语言 > C语言/C++

c++一些常用函数的积累

2015-09-13 19:45 471 查看
string

// string::substr
#include <iostream>
#include <string>

int main ()
{
std::string str="We think in generalities, but we live in details.";
// (quoting Alfred N. Whitehead)

std::string str2 = str.substr (3,5);     // "think"

std::size_t pos = str.find("live");      // position of "live" in str

std::string str3 = str.substr (pos);     // get from "live" to the end

std::cout << str2 << ' ' << str3 << '\n';

return 0;
}
//Output:
//think live in details.


#include <string>
#include <iostream>
#include<vector>
#include<map>
using namespace std;

int main(){
string temp;
vector<string> ans;
map<string, string> dic;
/*dic["a"] = "aa";
dic["b"] = "bb";
for (auto s : dic)
cout << s.second << endl;*/
int m, n;
cin >> m >> n;
int a = m + n+1;
while (a--){
getline(cin, temp);
if (!temp.size()) continue;
if (temp[0] == '<')
ans.push_back(temp);
else{
int pos = temp.find(" ");
string signal = "{{ " + temp.substr(0, pos) + " }}";
string val = temp.substr(pos + 2, temp.size() - pos - 3);
dic[signal] = val;
}
}
for (int i; i < ans.size();i++){
for (map<string, string>::iterator it = dic.begin(); it != dic.end();it++){
int pos;
while ((pos = ans[i].find(it->first)) != string::npos){
ans[i].replace(pos, it->first.size(), it->second);
}
}
}
//cout << ans[0] << endl;
for (int i = 0; i < ans.size();i++)
cout << ans[i]<< endl;
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: