在《实践教程》P10的程序代码如下:
#include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<cstdlib> #include<algorithm> using namespace std; int main() { char a[20]; int i; cout<<"请输入以下包含空格的字符串:It's a book."<<endl; cin>>a[0]>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]>>a[7]>>a[8]>>a[9]; a[10]='\0'; cout<<"保存的是:"<<a<<endl; cout<<"请重新输入一遍"<<endl; cin.get(a[0]); cin.get(a[1]); cin.get(a[2]); cin.get(a[3]); cin.get(a[4]); cin.get(a[5]); cin.get(a[6]); cin.get(a[7]); cin.get(a[8]); cin.get(a[9]); cin.get(a[10]); cin.get(a[11]); cin.get(a[12]); cin.get(a[13]); a[14]='\0'; cout<<"保存的是:"<<endl; cout<<a<<endl; cout<<"注意:a[0]存放上次输入的回车符,a[14]存放本次输入结束的回车符,各自产生一个换行。"<<endl; cout<<"请输入一个八进制整数:0750"<<endl; cin>>i; cout<<"输出的数用十进制表示是:"<<endl; cout<<dec<<i<<endl; cout<<"请输入十六进制整数:0xff"<<endl; cin>>i; cout<<"输入的数用十进制表示是:"<<endl; cout<<dec<<i<<endl; cout<<"使用get.line()吸收0后面的字符:"<<endl; cin.getline(a,18); cout<<a<<endl; cout<<"改用显式指定类型,输入八进制数750:"<<endl; cin>>oct>>i; cout<<"输入的数用十进制表示是:"<<endl; cout<<i<<endl; cout<<"输入的数用八进制表示是:"<<endl; cout<<oct<<i<<endl;//指明用八进制输出以后一直有效 cout<<"请输入十六进制整数:ff"<<endl; cin>>hex>>i; cout<<"输入的数用十进制表示是:"<<endl; cout<<dec<<i<<endl;//必须显式地改为十进制 cout<<"输入的数用十六进制表示是:"<<endl; cout<<hex<<i<<endl; cout<<"请输入字符串:This is a cat."<<endl; cin.getline(a,18); cout<<a<<endl; cout<<"没有机会输入字符串:This is a cat。程序读了上次输入数字后的回车,输出了一个空串。现在可以重新输入一遍字符串:This is a cat。"<<endl; cin.getline(a,18); cout<<a<<endl; cout<<"成功!"<<endl; return 0; }
依照指示运行的输入输出如下:
请输入以下包含空格的字符串:It's a book. It's a book. 保存的是:It'sabook. 请重新输入一遍 It's a book. 保存的是: It's a book. 注意:a[0]存放上次输入的回车符,a[14]存放本次输入结束的回车符,各自产生一个换行。 请输入一个八进制整数:0750 0750 输出的数用十进制表示是: 750 请输入十六进制整数:0xff 0xff 输入的数用十进制表示是: 0 使用get.line()吸收0后面的字符: xff 改用显式指定类型,输入八进制数750: 750 输入的数用十进制表示是: 488 输入的数用八进制表示是: 750 请输入十六进制整数:ff ff 输入的数用十进制表示是: 255 输入的数用十六进制表示是: ff 请输入字符串:This is a cat. 没有机会输入字符串:This is a cat。程序读了上次输入数字后的回车,输出了一个空串。现在可以重新输入一遍字符串:This is a cat。 This is a cat. This is a cat. 成功!