cin cout

cin、cout是对象,以cout为例说明。
cout是ostream类的对象。声明在iostream文件中,  
#ifdef _M_CEE_PURE
__PURE_APPDOMAIN_GLOBAL extern istream cin, *_Ptr_cin;
__PURE_APPDOMAIN_GLOBAL extern ostream cout, *_Ptr_cout;
__PURE_APPDOMAIN_GLOBAL extern ostream cerr, *_Ptr_cerr;
__PURE_APPDOMAIN_GLOBAL extern ostream clog, *_Ptr_clog;

定义我猜应该在某个.lib .dll中。
cout<<"hi";之所以与printf("hi");差不多,是因为ostream类重载了operator<<函数。
ostream &myCout=cout;myCout<<"hi";也能正常运行。

cin

cin cout在单词区配时,常以0~9,a~z,A~Z以外的单词作为单词间分隔,可用

int isalnum(char n);
//不为以上三种情况时返回0

还有

isdigit();isalpha();

cin cout当需要读入一行字符串,字符串中可能含有空格' '时,可用:

string a;
getline(cin,a);

cin cout一般的ACM题都有多组测试数据,若事先不告诉几组,可:

while (cin>>a){
...
}

cin cout若一组数据包含两行字符串,可以:

while(getline(cin,str_1) && getline(cin,str_2){
...
}


有些题涉及到累加,注意用

unsigned long long

cin cout按行读整数

cin coutcin>>遇到回车或空格停止本次读入,流中的空格或回车被抛弃。

cin.get(),一次读一个字符,空格或回车可在流中。scanf("%c",&ch)的形式同cin.get();.

 char str[100]; scanf("%s",str); 这种形式也是读不进空格和回车的。有些输入有数字、空格、回车和字符。读入str后对str[0]进行判断,很妙哦。

文本文件为 “空格 空格 空格 回车 空格 空格 回车 空格 回车”,程序结果见下:
cin cout



cout

undone




 

上一篇:怎样用Docker创建我们自己的镜像


下一篇:RAC数据库启用归档和闪回的步骤