首页 > 其他 > 详细

CCF-模板生成系统-201509-3

时间:2019-03-07 20:33:55      阅读:217      评论:0      收藏:0      [点我收藏+]

主要是string---STL的运用

趁机整理一下erase, find, substr, replace, insert

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int N=107;
 4 string str[N];
 5 map <string,string> mapp;
 6 int main ()
 7 {
 8     int m,n; cin>>m>>n; getchar();
 9     for (int i=0;i<m;i++)  
10         getline(cin,str[i]);
11     for (int i=0;i<n;i++) {
12         string s1,s2; 
13         cin>>s1; getline(cin,s2);
14         s2=s2.substr(2,s2.size()-3);
15         mapp[s1]=s2;
16     }
17     for (int i=0;i<m;i++) {
18         string s=str[i];
19         string tmp; int j=0;
20         while (j<s.size()) {
21             int _s=s.find("{{ ",j);
22             int _e=s.find(" }}",_s);
23             if (_s!=-1&&_e!=-1) {  
24                 int len=_e-_s-3;
25                 string txt=s.substr(_s+3,len);
26                 txt=mapp[txt];
27                 s.replace(_s,_e+3-_s,txt);
28                 j=_s+txt.size(); // j=_e+3;  字符串替换后 长度也发生了变化
29             }
30             else break;
31         }
32         cout<<s<<"\n";                
33     }
34     return 0;
35 }

 

CCF-模板生成系统-201509-3

原文:https://www.cnblogs.com/xidian-mao/p/10492040.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!