/* 二,给一个C语言的enum定义语句,输出enum中规定的各项值。 Example: Input: Enum BOOL{true, false}; Output: true0 false1 */ #include <iostream> #include <string> #include <cstdlib> #include <vector> using namespace std; void delStr(string& s,string& str){//删除字符串中的子串,这一个可以顶下面好几个方法了! int pos = 0; if(!s.empty()){ while((pos = s.find(str,pos)) != string::npos){ s.erase(pos,str.length()); } } } void split(vector<string>& v,string& s,const string a){ size_t p1 = 0; size_t p2 = s.find(a); string a2 = " "; while(p2!=string::npos){ string t = s.substr(p1,p2-p1); delStr(t,a2); v.push_back(t); p1 = p2+1; p2 = s.find(a,p1); } string t = s.substr(p1); delStr(t,a2); v.push_back(t); } void main(){ freopen("G:/16_2.txt","r",stdin); string s; getline(cin,s); //cin>>s; size_t a = s.find("{"); size_t b = s.find("}"); s = s.substr(a+1,b-a-1);//第一个是起始位置,第二个是参数长度 vector<string> v; split(v,s,","); for(int i=0;i<v.size();i++){ cout<<v[i]<<endl; } }
作者:西伯尔
出处:http://www.cnblogs.com/sybil-hxl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。