1 # include<iostream>
2 # include<cstdio>
3 # include<algorithm>
4 # include<cstdlib>
5 # include<string>
6 # include<vector>
7 using namespace std;
8 int main(int argc,const char *argv[])
9 {
10 /*------------------------------------------*/
11 //length
12 //string s;
13 //s = "abc123456";
14 //cout<<s.length()<<endl;
15 //s = "";
16 //cout<<s.empty()<<endl;
17
18 /*------------------------------------------*/
19 //string赋值的两种形式
20 //<1>
21 //string s;
22 //s = "hello,c++ stl";
23 //cout<<s<<endl;
24 //<2>
25 // string s;
26 //char ss[5000];
27 //scanf比cin快。。。
28 //scanf是c语言的函数,不支持string对象
29 //scanf("%s",&ss);
30 //s = ss;
31 //cout<<s<<endl;
32
33
34 /*------------------------------------------*/
35 //从对象尾部添加字符
36 //string s;
37 //s = s + 'a';
38 //s = s + 'b';
39 // s = s + 'c';
40 //cout<<s<<endl;
41 //cout<<s.size()<<endl;
42
43 /*------------------------------------------*/
44 //从string对象尾部追加字符串
45 //<1>
46 //string s;
47 //s = s+"abc";
48 //s = s+"123";
49 //cout<<s<<endl;
50 //<2>
51 //string s;
52 //s.append("abc");
53 //s.append("123");
54 //cout<<s<<endl;
55
56 /*------------------------------------------*/
57 //给string对象插入字符
58 //string s;
59 //s = "123456";
60 //string::iterator it;
61 //it = s.begin();
62 //it = s.insert(it+1,'p');
63 //cout<<s<<endl;
64
65 /*---------------------------------------*/
66 //访问string对象的元素
67 //string s;
68 //s = "abc123456";
69 //cout<<s[0]<<endl;
70 //cout<<s[0]-'a'<<endl;
71
72 //string::iterator it;
73 //for(it = s.begin();it!=s.end();it++)
74 //{
75 // cout<<*it<<" ";
76 //}
77
78 /*--------------------------------------*/
79 //删除指定的串
80 //string s;
81 //s = "abc123456";
82 // string::iterator it;
83 // it = s.begin();
84 // s.erase(it+3);
85 // cout<<s<<endl;
86 // s.erase(it,it+3);
87 // cout<<s<<endl;
88 // s = "";
89 // cout<<s.length()<<endl;
90
91 /*---------------------------------------*/
92 //替换string对象的字符
93 //string s;
94 // s = "abc123456";
95 //从第3个数开始,将连续的3个字符替换为“good”
96 //即将“123”替换为“good”
97 //s.replace(3,3,"good");
98 //cout<<s<<endl;
99
100 /*---------------------------------------*/
101 //搜索string对象的元素或子串
102 //string s;
103 //s = "cat dog cat";
104 //cout<<s.find('c')<<endl;
105 //cout<<s.find("c")<<endl;
106 //cout<<s.find("cat")<<endl;
107 //cout<<s.find("dog")<<endl;
108 //cout<<s.find("dogc")<<endl;
109
110 /*---------------------------------------*/
111 //string对象的比较
112 //string s;
113 //s = "cat dog cat";
114 //cout<<s.compare("cat")<<endl;
115 //cout<<s.compare("cat dog cat")<<endl;
116 //cout<<s.compare("dog")<<endl;
117
118 /*--------------------------------------*/
119 //reveser转置
120 //string s;
121 // s = "123456789";
122 //reverse(s.begin(),s.end());
123 //cout<<s<<endl;
124
125 /*--------------------------------------*/
126 //vector在string的应用
127 //vector<string>v;
128 //v.push_back("Jack");
129 //v.push_back("Michael");
130 //v.push_back("Miao");
131 //cout<<v[0]<<endl;
132 //cout<<v[1]<<endl;
133 //cout<<v[2]<<endl;
134 //cout<<v[0][0]<<endl;
135 //cout<<v[1][0]<<endl;
136 //cout<<v[2].length()<<endl;
137
138 /*--------------------------------------*/
139 //string s;
140 //s = "1234059";
141 //int i;
142 //int sum = 0;
143 //for(i = 0; i < s.length(); i++)
144 //{
145 // if(s[i] == '0') sum+=0;
146 // else if(s[i] == '1') sum+=1;
147 // else if(s[i] == '2') sum+=2;
148 // else if(s[i] == '3') sum+=3;
149 // else if(s[i] == '4') sum+=4;
150 // else if(s[i] == '5') sum+=5;
151 // else if(s[i] == '6') sum+=6;
152 // else if(s[i] == '7') sum+=7;
153 // else if(s[i] == '8') sum+=8;
154 // else if(s[i] == '9') sum+=9;
155 // }
156 // cout<<sum<<endl;
157
158 /*---------------------------------*/
159 //string s;
160 //char ss[100];
161 //scanf("%s",&ss);
162 //s=ss;
163 //printf(s.c_str());
164 //cout<<endl;
165 //printf("%s",ss);
166 //cout<<endl;
167 //cout<<s<<endl;
168 //cout<<ss<<endl;
169
170 /*----------------------------------*/
171 //string 和scanf函数
172 //string s1,s2,s3;
173 //char sa[100],sb[100],sc[100];
174 //将字符串分离成字串,分隔符为空格
175 //sscanf("abc 123 pc","%s %s %s",&sa,&sb,&sc);
176 //s1 = sa;
177 //s2 = sb;
178 //s3 = sc;
179 //cout<<s1<<" "<<s2<<" "<<s3<<endl;
180 //将字符串分离成数字,分隔符为空格
181 //当用到数字的时候,跟scanf一样,踏要指针地址
182 //int a,b,c;
183 //sscanf("1 2 3","%d %d %d",&a,&b,&c);
184 //cout<<a<<" "<<b<<" "<<c<<endl;
185 //将字符串分离成数字,分隔符为“,”和“$”
186 //当用到数字的时候,跟scanf一样,它要传指针地址
187 //int x,y,z;
188 //sscanf("4,5$6","%d,%d$%d",&x,&y,&z);
189 //cout<<x<<" "<<y<<" "<<z<<endl;
190
191 /*----------------------------------------------*/
192 //string对象与数值相互转换(写法有问题)
193 //string convertToString(double x)//C++方法,将数值转换为string
194 //{
195 // ostringstream o;
196 // if(o<<x)
197 // return o.str();
198 // return "conversion error";
199 //}
200 //double convertFromString(const string &s)//C++方法,将string转换为数值
201 //{
202 // istringstream (s);
203 // double x;
204 // if(i >>x)
205 // return x;
206 // return 0.0;
207 //}
208 //int main(int argc,const char* argv[])
209 //{
210 //将数值转换为string的第一种方法:C方法
211 //char b[10];
212 // string a;
213 // sprinf(b,"%d",1975);
214 // a = b;
215 // cout<<a<<endl;
216 //将数值转化为string的第二种的方法:C++方法
217 // string cc = convertToString(1976);
218 // cout<<cc<<endl;
219 //将string转化为数值的方法:C++方法
220 // string dd= "2006";
221 //int p = convertFromString(dd)+2;
222 //cout<<p<<endl;
223 //}
224 return 0;
225 }