zoukankan      html  css  js  c++  java
  • C++ 字符串输入

    字符串输入

    • 面向单词

      • cin :

        • 输入出错时须使用cin.clear()取消异常状态才能继续读入缓冲区的内容,且不论正常与否始终不丢弃缓冲区中已输入的字符(包括换行符)
        • 使用空白(空格、制表符和换行符)来确定字符串的结束位置。
        • 自动添加空字符。
    • 面向行

      • cin.getline(m,n)

          • m 存储输入行的数组名称,n 为读取字符数。

          • 最多读取 n-1 个字符,自动添加空字符。

          • 换行符确定输入结尾,停止读取。
          • 不保存换行符,用空字符代替换行符。
          • 异常输入

            • 读到空行时将空串赋给原数组,不设置失效位,且丢弃行尾换行符。

            • 读取字符数 > n-1 时,原数组读取前 n-1 个字符且自动补上 '' ,并设置失效位,剩余字符及换行符 ' ' 仍保留在输入队列
      • 其实 cin.getline() 是成员函数,有三个参数:cin.getline(a, b, c) 
        cin.getline(char* ch, int num, char f);
        

          ch 和 num 的作用如上,而f 是结束字符。当提前遇到f ,输入结束,从输入流中读取并丢掉f 字符,自动向字符串结尾添加空字符。*若不指定结束符,则默认结束符是换行符。

      • cin.get(m,n)

          • 与 getline(m,n) 工作方式相同,但不再读取并丢弃换行符,而是将其留在输入队列中。

          • 异常输入

            • 读到空行时将空串赋给原数组,输入流中保留换行符,且设置失效位。恢复命令:cin.clear()。
            • 读入数据长度 > n-1 时,原数组读取前 n-1 个字符并自动加上 '' ,不设置失效位,剩余字符及换行符 ' ' 不被丢弃,保存在输入队列。
            • 较早的get(char *, int)版本在读取空行后,返回的值不为false。然而,对于这些版本来说,如果读取了一个空行,则字符串中第一个字符将是一个空字符。
  • 相关阅读:
    ELF文件格式解析
    了解ELF文件类型
    汇编程序-简介
    汇编指令入门级整理
    双系统: Windows10时间快和Ubuntu时间差问题
    iDRAC on DELL Server
    ubuntu WIFI 连接不稳定(wifi无法连接问题)
    删除字符串中的空格(空字符)
    VBS 基础知识
    VBS 操作Excel的常用方法
  • 原文地址:https://www.cnblogs.com/suui90/p/12566034.html
Copyright © 2011-2022 走看看