1.baseic_ostream<charT,traits>& write(const char_type *s,streamsize n),cout.write()第一个参数提供了要显示的字符串的地址,第二个参数

指出要显示多少个字符

2.cout<<hex == hex(cout) 控制符实际上是函数。

3.cout,width()只影响将显示的下一个项目,然后字段宽将恢复为默认值(返回以前的字段宽int)。

4.cout.fill(‘*’) 用*填充字段中未被使用的部分。

5.cout.precision(n) 浮点类型保留n位数,而定点和科学保留n位小数

6.

#include<iostream>
#include<exception>
int mian()
{
std::cin.exceptions(std::ios_base::failbit);
int input;
try
{
while (std::cin>>input)
;
}catch (std::ios_base::failure &bf)
{
std::cout<<bf.what<<"\n";
}
return ;
}

iostate exceptions() const,返回当前mask for the stream;

void exceptions(iostate except),sets a new exception mask for the stream and clears the stream's the stream's error state flags(as if member clear() was called).the exception mask is an internal value kept by all stream objects specifying for which state flags an exception of member type failure(or some derived type) is thrown when set.

cin.exceptions(badbit | eofbit)//setting badbit and eofbit cause exception to be thrown. exceptions()方法返回一个为字段,它包含三位,分别对应eofbit、failbit、badbit。clear()方法将当前的流状态与exceptions()返回的值进行比较。如果在返回值中某一位被设置,而当前状态中的对应为也被设置,则clear()将引发ios_base::failure异常.

7.istream & cin.get(char&) 和 int cin.get() 提供不跳过空白的单字符输入功能。达到文件尾get(char &)返回false,get()返回eof

8.istream & cin.get(char *,int,char)、istream & cin.get(char *,int) 和istream & cin.getline(char *,int,char)、istream & getline(char *,int),第一个参数用于放置输入字符串的内存单元地址,第二个参数比要读取的最大字符数大1(额外的一个字符用于存储结尾的空字符),第三个参数指定用作分解符的字符。区别:get()将换行符留在输入流中,getline()抽取并丢弃输入流中的换行符。get(char*,int)如果没用读取任何字符则设置failbit,getline(char *,int)如果读取了最大数目的字符,且行中还有其他字符,则设置failbit。

9.cin.read(char*,int),读取指定数目的字节,并讲他们存储在指定的位置,read()并不会在输入后面加上空值字符,因此不能将输入转换为字符串(不是专为键盘输入设计的,与write()来完成文件的输入和输出)

10.cin.peek(),函数返回输入中的下一个字符,但不抽取输入流中的字符

11.cin.putback(),函数将一个字符插入到输入字符串中,被插入的字符将是下一条输入语句读取的第一个字符.

12.fstream继承了两个缓冲区一个用于输入,一个用于输出,并能同步化这两个缓冲区的处理。

13.tellg()和tellp,返回一个表示当前位置的streampos值(以字节为单位,从未见开始算起),fstream对象返回的值相同。

14.char* tmpnam(char * filename),字符长度不超过L_tmpname。filename if filename was not NULL. Otherwise a pointer to an internal static buffer is returned. If no suitable filename can be generated, NULL is returned,filename如果是NULL则返回一个指向static buffers。

#include <iostream>
#include <cstdio>
#include <string> int main()
{
std::string name1 = std::tmpnam(nullptr);
std::cout << "temporary file name: " << name1 << '\n'; char name2[L_tmpnam];
if (std::tmpnam(name2)) {
std::cout << "temporary file name: " << name2 << '\n';
}
}

15.内核格式化

#include <iostream>
#include <sstream>
int main()
{
using std::cout;
using std::cin;
using std::endl;
using std::string;
//std::istringstream in_str;
std::ostringstream out_str;
std::stringstream in_out_str;
out_str<<"message!!!";
string str= out_str.str();
cout<<str<<endl;
out_str<<" ahh!!!";
cout<<str<<endl;
cout<<out_str.str()<<endl;
auto cout_p= cout.rdbuf(out_str.rdbuf());
cout<<" guess?!";
cout.rdbuf(cout_p);
cout<<"auto: "<<out_str.str()<<endl;
std::istringstream in_str(str);
string word;
in_str>>word;
cout<<"word:"<<word<<endl;
in_out_str<<str;
cout<<in_out_str.str()<<endl;
in_out_str.get();
if (in_out_str.putback('W'))
{
cout<<in_out_str.rdbuf()<<endl;
}
else
{
cout<<"error putback\n";
}
std::istringstream ins_str(str);
ins_str.get();
if (ins_str.putback('W'))
{
cout<<ins_str.rdbuf()<<endl;
}
else
{
cout<<"error putback\n";
}
ins_str.clear();
if (ins_str.putback('m'))
{

cpp(第十七章)的更多相关文章

  1. 进击的Python【第十七章】:jQuery的基本应用

    进击的Python[第十七章]:jQuery的基本应用

  2. <构建之法>第十三章到十七章有感以及这个项目读后感

    <构建之法>第十三章到十七章有感 第13章:软件测试方法有哪些? 主要讲了软件测试方法:要说有什么问题就是哪种效率最高? 第14章:质量保障 软件的质量指标是什么?怎么样能够提升软件的质量 ...

  3. 程序员编程艺术第三十六~三十七章、搜索智能提示suggestion,附近点搜索

    第三十六~三十七章.搜索智能提示suggestion,附近地点搜索 作者:July.致谢:caopengcs.胡果果.时间:二零一三年九月七日. 题记 写博的近三年,整理了太多太多的笔试面试题,如微软 ...

  4. 《Linux命令行与shell脚本编程大全》 第二十七章 学习笔记

    第二十七章:shell脚本编程进阶 监测系统统计数据 系统快照报告 1.运行时间 uptime命令会提供以下基本信息: 当前时间 系统运行的天数,小时数,分钟数 当前登录到系统的用户数 1分钟,5分钟 ...

  5. [汇编学习笔记][第十七章使用BIOS进行键盘输入和磁盘读写

    第十七章 使用BIOS进行键盘输入和磁盘读写 17.1 int 9 中断例程对键盘输入的处理 17.2 int 16 读取键盘缓存区 mov ah,0 int 16h 结果:(ah)=扫描码,(al) ...

  6. 第十七章——配置SQLServer(3)——配置“对即时负载的优化”

    原文:第十七章--配置SQLServer(3)--配置"对即时负载的优化" 前言: 在第一次执行查询或者存储过程时,会创建执行计划并存储在SQLServer的过程缓存内存中.在很多 ...

  7. 第十七章——配置SQLServer(4)——优化SQLServer实例的配置

    原文:第十七章--配置SQLServer(4)--优化SQLServer实例的配置 前言: Sp_configure 可以用于管理和优化SQLServer资源,而且绝大部分配置都可以使用SQLServ ...

  8. 第十七章——配置SQLServer(2)——32位和64位系统中的内存配置

    原文:第十七章--配置SQLServer(2)--32位和64位系统中的内存配置 前言: 本文讲述32位和64位系统中的内存配置,在SQLServer 2005/2008中,DBA们往往尝试开启AWE ...

  9. 第十七章——配置SQLServer(1)——为SQLServer配置更多的处理器

    原文:第十七章--配置SQLServer(1)--为SQLServer配置更多的处理器 前言: SQLServer提供了一个系统存储过程,SP_Configure,可以帮助你管理实例级别的配置.微软建 ...

随机推荐

  1. CF #365 703D. Mishka and Interesting sum

    题目描述 D. Mishka and Interesting sum的意思就是给出一个数组,以及若干询问,每次询问某个区间[L, R]之间所有出现过偶数次的数字的异或和. 这个东西乍看很像是经典问题, ...

  2. ob缓存

    ob的基本原则:如果ob缓存打开,则echo的数据首先放在ob缓存.如果是header信息,直接放在程序缓存.当页面执行到最后,会把ob缓存的数据放到程序缓存,然后依次返回给浏览器.下面我说说ob的基 ...

  3. WPF触屏Touch事件在嵌套控件中的响应问题

    前几天遇到个touch事件的坑,记录下来以增强理解. 具体是 想把一个listview嵌套到另一个listview,这时候如果list view(子listview)的内容过多超过容器高度,它是不会出 ...

  4. 前端 tips

    1.==和!=操作符会在需要的情况下自动转换数据类型.但===和!==不会,它们会同时比较值和数据类型,这也使得它们要比==和!=快. 2.首次为变量赋值时务必使用var关键字,变量没有声明而直接赋值 ...

  5. OC语言中如何在便利构造器中利用便利初始化进行初始化

    因为利用便利初始化在便利构造器中进行初始化,所以要利用便利初始化的声明及实现部分,可与前篇做比较: 1. 主函数部分: 2. 接口部分: 3. 实现部分: 4. 打印结果: 感兴趣的朋友们可自己与前面 ...

  6. ZooKeeper 入门

    0 介绍 官网:http://zookeeper.apache.org/ ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.名字服务.分 ...

  7. php学习之重要内置函数

    1. require_once()函数 此函数在脚本执行期间包含并执行指定的文件,与require语句类似,唯一区别是如果该文件中的代码已经被包含了,则不会再次包含. require_once()函数 ...

  8. Linux文件属性及如何修改文件属性

    ls -al:显示文件的文件名与相关属性并列出所有文件详细的权限与属性 dr-xr-x---.   7       root     root       4096       Apr3 12:31 ...

  9. 1.各个浏览器内核?经常遇到的浏览器兼容性有哪些?解决办法?常用的hack技巧?

    IE: trident内核 Firefox(火狐):gecko内核 Safari(苹果):webkit内核 Opera(欧鹏):以前是presto内核,现在是Blink内核 Chrome:Blink ...

  10. linux下安装一款笔记软件(为知笔记)

    今天突然想在ubuntu上安装一款跨平台(windows.linux.android)的笔记软件来做日常记录.文章记录以及网页收藏.原先并没有使用过类似的软件,只是见身边的很多人在使用印象笔记来做记录 ...