C++封装了流类用于代替C的I/O操作函数。
为了控制输入输出,I/O流库提供了三个方面的内容:标志字、格式输出函数和操作算子。
IOS类(虚基类)包含一个长整型数据成员称为标志字,它的数位用作标志位,记录当前输出格式。对标志位维护,IOS类提供了若干个成员函数。
(ios::hex,ios::basefield);//操作输出格式状态标志字cout"dec:254=hex:"254l;(12);//格式化输出函数,与输出格式状态标志字无关inti=123456;(ios::hex);coutil;coutsetw(8)il;//操作算子,由插入符和提取符使用coutsetiosflags(ios::right)il;//操作算子设置参数所指定的标志位charstr[12];cinws;//Throwawaywhitespacecinstr;coutstr;2流对象状态标志位及设置和查看
所有流对象都包括一个条件状态成员,该成员分别有setstate和clear操作管理。这个状态成员为iostate类型。这是由各个iostream类分别定义的机器相关类型。该状态成员以二进制的形式使用。
2.1所有流对象都包含了一组充当标志的位(一个条件状态成员);
2.2一些流对象的成员函数会设置(更新)这些标志位
2.3一些成员函数可以检测这些标志位的值
实例:
includesstreamusingnamespacestd;intmain(){istringstreamis("423");//流内写入3个字符cout"--------------------读取第一个字符\n";charc=();coutcl;//4()l;//1()l;//0()l;//0()l;//0cout"--------------------读取剩下的两个字符\n";char*buf=(char*)malloc(3+1);memset(buf,0,4);(buf,2);printf("%s\n",buf);//23()l;//1()l;//0()l;//0()l;//0cout"--------------------再读取一个字符\n";();()l;//0()l;//1()l;//1()l;//0cout"--------------------最后再读取一个字符\n";();()l;//0()l;//1()l;//1()l;//0free(buf);while(1);return0;}/*--------------------读取第一个字符41000--------------------读取剩下的两个字符231000--------------------再读取一个字符0110--------------------最后再读取一个字符0110*/
C实例:
39;)n++;}while(c!=EOF);fclose(pFile);printf("Filecontains%d$.\n",n);}return0;}
--
版权声明:本站所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请举报,一经查实,本站将立刻删除。