1 #include <iostream>
2 #include <iomanip>
3 #include <cstring>
4 #include <cstdlib>
5 using namespace std;
6
7 //get 三个参数版本(读取一个,读取指定长度,读取到指定字符终止)
8 //getline 2个版本
9 //lcin.ignore(numeric_limits<streamsize>::max(),'#'); 忽略指定字符前的元素
10 //cin.read(ch,5); 不管什么字符,读取5个
11 //cin.putback 用于替换
12 //peek读取下一个字符
13
14 void main()
15 {
16 //char ch1[15]{ 0 };
17 //char ch2[15]{ 0 };
18
19 ////cin.get(ch1, 15);//从某个地址,读取15个长度的字符,没读取完则填充零
20 ////一下这种方法的弊端就是遇到空格会终止
21 ////cin >> ch1;
22 ///*cin.getline(ch1, 30);
23 //cout << ch1 << endl;*/
24
25 ////指定遇到#截止
26 //cin.getline(ch1, 30, '#');
27 //cout << ch1 << endl;
28
29 //char ch[30]{ 0 };
30 //cin >> ch;//cin每次会自动清空缓冲区
31 ////获取缓冲区里面有多少字符
32 //int i = cin.gcount();
33 //cout << i << endl;
34
35 //char ch;
36 //while (cin.get(ch))
37 //{
38 // if (ch == '#')
39 // {
40 // //丢弃当前字符,替换为新的字符
41 // cin.putback('@');
42 // }
43 // else
44 // {
45 // cout << ch;
46 // }
47 //
48 //}
49
50 char Pch;
51 char ch[30];
52 int i = 0;
53 //peek取出当前读取的字符的下一个字符,不会从流中删除
54 while ((Pch = cin.peek())!= 'x' && Pch != '\n')
55 {
56 cin.get(ch[i++]);
57 }
58 ch[i] = 0;
59 cout << ch << endl;
60 system("pause");
61 }