zoukankan      html  css  js  c++  java
  • clutter recoder

    cin >> ch;

    cin.get(ch);区别读取输入是否忽略空格、制表等;

    char ch;
    int count = 0;
    cout << "Enter characters;enter # to quit: 
    ";
    cin.get(ch);
    while (ch != '#')
    {
      cout << ch;
      ++count;
      cin.get(ch);  
    }
    cout << endl;
    cout << count << " characters read 
    ";

    cin >> ch;忽略空格等输入并 不计入字符输入统计的范畴内;

    cin.get(ch)则不忽略空格等,同时通过控股等计数;

    两个输入 都预先被缓冲,按下键盘时发送给程序处理;

    对于vector 可伸缩长度的数组 除了在尾部插入 删除数据 其他 任何部分插入 删除数据线性的复杂度
    vector 除了再尾部插入 删除 效率恒定 在头部 中间 做删除 插入操作 效率都是线性的
    访问vector可以根据下标直接访问 访问任何位置的元素 效率都是恒定

    基本关联式容器

    set multiset map multimap map set;
    数学中集合

    容器适配器
    基本容器实现的新容器
    新容器可以描述更高级的数据结构
    容器适配器有3种
    Stack queue priority
    priority_queue
    stack queue priority_queue
    先进后出特性
    queue 队列 先进先出特性
    priority_queue带优先级的队列 元素可以按照某种优先级顺序进行
    定义了 一个stack容器实体
    入 push pop出 即删除顶数据
    top
    返回顶 但是并不删除
    empty 判断是否为空

    输入流 输入的过程是這样的 键盘输入完数据按下回车键 该行数据就被写入输入缓冲区 之后输入操作符从缓冲区提取数据 提取过程中忽略空格 tab键 换行符等空白字符
    输入流正常cin返回值true
    cin遇到错误的字符或文件结束符

    文件结束标识采用宏定义形式定义出来的
    宏定义
    #define EOF (-1);
    cin直接进行忽略 而是将它们当成一个字符运行用户按下enter会将先前的输入全都输出
    但并不是enter就是文件结束符enter不是文件结束符
    程序运行之所以会发生這样的情况
    因为enter键带动一次清扫缓冲区行为每当用户输入一行字符串按下 enter 清扫一次缓冲区

    将先前输入内容从缓冲区读出
    文件结束符 在不同的编译器
    带有一个参数的get函数
    带有一个参数的get函数 参数是一个char型变量 用于存放读入的单个字符 同时函数的返回不再是读入的字符而是bool
    读取成功是 返回非零 读取失败返回0相当于false 此时停止读入字符

    带3个参数
    第一个参数是 字符数组或是字符指针
    用于将读入的字符串
    函数读取成返回一个非0

    0

    读入失败或是遇到文件终止返回0 false;

    数组 指针 长度 结束标志;


    结束符

    第一次读取 还没有读到指定长度的字符时 就已经碰到 结束字符了
    getline读取输入的字符终止字符不被读入
    碰到一个终止字符终止本次读入操作 然后指针向后移动一位

    eof用于判断读入数据是否遇到文件结束符
    如果遇到文件结束符则返回true

    功能是从输入流中读入一个字符

    get遇到空格 tab换行符
    char

    带有一个参数的get 参数是char 用于存放读入的单个字符
    同时函数的返回值不再是读入的字符而是bool类型 读取成功函数返回非0

    带有一个参数的get函数,其参数是一个char型变量,用于存放读入的单个字符
    函数的返回值不同无参的get() == eOF返回读入的字符而是返回布尔
    车工读取返回一个非0值,失败返回0false
    c.get(a)

    char a;
    while(cin.get(a))//读取成功时

    带有3个参数的get函数第一个参数是字符数组或字符指针 用于将读入的字符串存入到字符数组或指针所指向的内存空间

    用于将读入的字符串存入到字符数组或指针所指向的内存空间
    第二个参数为读入字符个数 最后一个参数读取的终止字符
    如果未读满指定的个数就碰到终止字符 字符 会提前终止读入字符 函数读取成功返回一个非0
    读入失败或遇到文件终止符则返回0 false

    带有3个参数的get函数第一个参数是字符数组 字符指针


    带有3个参数的get函数第一个参数是字符数组或字符指针,用于将读入的字符串存入到字符数组或指针所指的内存
    第二个参数为读入字符个 最后一个读取的
    依次读入输入字符 调用get函数 每次读入的字符只有9个
    这是因为字符数组末尾'';
    getline

    终止符不是
    using文件结尾 跳出循环;

    eof用于判断读入数据是否遇到文件结束符

    cin.eof


    cin.eof()用于判断读入数据是否遇到文件结束符,如果遇到文件结束符True

    peek
    用于返回当前指针所指的字符 返回当前指针所指的字符
    并且不会移动指针
    如果当前指针所指向的是文件结束符
    -1 EOF
    putback 将get getline函数读取到的字符重新插入到缓冲区当前指针所指位置 后面任然读取字符

    putback(char)函数是将get或getline函数读取到的字符重新插入到缓冲区当前指针所指的位置
    文本文件 二进制文件;

    文本文件每一个字节存放是一个ASCII,代表一个字符
    二进制文件是将内存中的数据按照其在内存中的存储形式
    二进制文件是将内存数据按照其在内存中的存储形式原样存放在磁盘 文本文件用记事本打开,显示的是字符

    记事本打开二进制文件则显示乱码
    文本文件
    cout cerr iostream
    文件操作fstream

    ifstream
    ofstream
    文件打开操作
    ifstream ofstream 成员函数 函数用于类的对象调用
    open函数
    第一个参数是需要打开的的文件名 参数可以是字符指针字符数组
    输入输出
    输入输出格式
    ios::in 以输入方式打开文件
    ios::out 输出方式打开 ofstream output("output.tct",ios::out)文件不存在新建 文件存在就将原有内容全部清空

    append

    输出的数据追加到文件末尾
    iso::app
    ios::ate打开文件并将指针定位到文件末尾
    打开 并将指针定位到文件末尾
    指针定位到文件末尾

    ios::trunc

    打开文件 文件不存在创建 存在 清空原有文件内容
    truncate

    ios::binary 二进制方式打开

    ios::二进制方式打开,如果不指定则默认采用文件方式打开
    ios::in | ios::out

    ios::in | ios::bingary


    ios::out | ios::binary
    ios::out | ios::binary

    0 false

    open函数打开失败返回0 false
    程序中检测文件是否打开成功

    为文件处理完数据 关闭
    Object.close();

    文本文件的读写操作 两种 方式
    输入输出操作符
    << >>

    put
    get getline
    函数只能用于处理字符
    输入输出操作符
    >> << 重载了 输入输出操作符 可以处理所有内建数据类型
    从文件输入输出与 标准输入输出其实一样
    只不过将类对象cout cin 换成了 ofstream ifstream

    先从input.txt 文件读取数据存入数据 然后再将数组数组打印到显示器 之后再将数据写入到output.txt

    ofstream类定义对象用于输出文件
    ifstream类定义对象输入到文件
    用fstream类定义对象用于从文件输入 又能输出到文件
    针对二进制文件的读写
    针对二进制文件的读写输入输出类定义
    针对二进制文件的读写,输入输出类中定义了专门的函数read write
    istream & read(char * buffer,int size);

    ostream & write(const char * buffer,int size)

    char指针buffer是指向内存中的一段存储空间
    char指针是只想内存中的一段存储空间
    size 存储空间大小
    需要读写内容的字节数
    读写二进制的函数
    系统提供了一些操作文件读写指针位置的成员函数
    操作文件读写指针位置的成员函数
    将文件读写指针移动到指定位置并操作数据
    操作文件读写指针
    操作文件读写位置的 将文件读写指针移动到指定位置并操作数据

    gcount()返回最后一次输入所读入的字节数
    tellg()返回输入指针当前位置

    seekg将输入文件中指针移动到指定的位置
    seekg

    cin对象
    char字面值
    书写字符常量方式多种

    char字面值
    书写字符常量常规字符 将字符用单引号括起来
    字符的数值编码

    ASCII

    数值编码 字面值 更加清晰 不需要知道编码

    这种初始化常用于给复杂的数据类型提供值列表

    变量的类型可能无法赋予给它的值

    条件是编译器知道目标变量能够正确地存储赋给它的值

    const int code = 66;

    计算表达式中 bool char unsigned char signed char short int
    整形提升
    char signed unsigned char short 转成int

    (typeName) value
    typeName (value);


    变量初始化
    4个强制类型转换


    static_cast<>

    static_cast<typeName> (value);
    C++引入4个强制类型转换运算符
    static_cast可用于将一个

    static_cast<>比传统强制类型转换严格
    c强制类型转换由于有过多的可能性及其危险

    my double Eleven Shopping list/wishlist:
    first: a pair of fake leather shoes;
    second: a fashion jacket;
    third: nice business pants;
    fourth: handsome business shoulder bag;
    signature:Ruiy.

    cin对象支持3种不同模式的单字符输入;其用户接口各不相同
    while循环中使用模式
    sentinel character;
    程序在输出时省略了空格
    cin忽略空格换行符
    cin 读取char值 与读取其他基本类型一样 cin将忽略空格和换行符 cin忽略换行符和空格 输入的空格没有被回显 也没有被包括在计数内
    cin输入被缓冲

    cin输入被缓冲 意味着只有用户按下回车键 他的输入内容才会被发给程序
    就是运行程序时 可以在#终止输出字符后面输入别的字符的原因 按下回车键 整个字符序列被发送给程序 但程序在遇到#后结束对输入的处理
    cin输入被缓冲
    按下回车键 输入才会被发送程序
    cin对象忽略换行符和空格

    输入先被缓冲,按下回车键再被发送给程序处理
    cin.get()
    读取字符输入,键盘或是来自文本文件
    逐个字符读取输入的程序需要检测每个字符
    逐个字符读取输入的程序检查每个字符 空格 制表换行
    逐个字符读取输入的程序需要检测每个字符
    cin所属类istream中包含一个能够满足这情况成员函数
    具体地说,成员函数cin.get(ch)读取输入中的下一个字符(即使是空格)并将赋给变量ch
    cin >> ch
    cin.get(ch);

    现在 程序回显每个字符
    cin.get(ch)调用将一个值放入ch,意味修改变量
    C中要修改变量值 将变量的地址传递给函数
    引用类型
    cin.get(ch)调用将一个值放在ch变量
    這意味着修改该变量值c中要修改变量的值 需将变量的地址传递给函数
    只需要将参数申明为引用
    引用C++新数据类型;
    函数可以修改参数的值
    cin.get()的一个版本接受两个参数
    数组名 字符串char*的地址
    数组名是第一个元素的地址 字符串数组名的类型char*
    cin.get()不接受任何参数
    函数重载的oop特性
    cin.get()
    cin.get(ch)
    cin.get(arr,size);
    函数重载允许创建多个同名函数 条件是参数类别
    编译器将找到char* int作为参数的cin.get()版本
    文件尾条件
    输入结束难令人满意
    這样的符号可能就是合法输入组成部分
    输入来自于文件,使用功能更强大技术 输入来自于文件 使用功能更强大技术 检测文件尾
    EOF
    C++输入工具和操作系统协同 检测文件尾并将信息告知程序
    读取文件信息 cin和键盘输入

  • 相关阅读:
    数据库主体拥有数据库角色,无法删除
    popupWin类QQ弹出窗口
    使用性能监视器找出硬件瓶颈
    关于反射中Assembly.CreateInstance()与Activator.CreateInstance()方法的区别
    大数据的通用分页总结!
    SQL 注入[转自:微软技术中心]
    【转】 使用Yahoo的公开API做天气预报
    JS对select动态添加options操作
    asp.net “从客户端检测到有潜在危险的Request.Form值” 处理办法
    SQL中索引的原理
  • 原文地址:https://www.cnblogs.com/ruiy/p/7883853.html
Copyright © 2011-2022 走看看