zoukankan      html  css  js  c++  java
  • C++输入cin,输出cout,换行endl,getline连续读取字符

    简记:cin=键盘,cout=屏幕。

    >>和<<指向代表数据流动方向。<<是流插入运算符,右操作数(运算符右边的值)会被插入到输出流中。

    首先要包含:#include <iostream> 

    using std::cin;

    using std::cout;

    using std::endl;

    流操作元std::endl输出一个换行符,然后“刷新输出缓冲”。

    而字符串中的 是转义序列,使光标移动到下一行开始处。

    cin>>a;//把键盘的数据放到变量a里。

    cout<<"hello ";//字符串数据流动到屏幕。

    cin只能读入单个单词,其中间不能有空格。

    getline可以读入一条语句,可以包含空格,遇到回车终止。

    string nameOfCouese;

    getline(cin,nameOfCourse);

    函数调用getline();从标准输入流对象cin(即键盘)连续读取字符(包括空格符),直到遇到换行符为止。

    读取的这些字符放入string类型的变量nameOfCourse中并丢弃换行符。

    其中,在键入程序输入过程中按下回车时,会在输入流中插入一个换行符。

    需要注意!使用getline要包含头文件string。

    #include <string>

    using std::string;

    using std::getline;

    getline同样属于命名空间std。


    C++中本质上有两种getline函数,一种在头文件<istream>中,是istream类的成员函数。一种在头文件<string>中,是普通函数。

      1. 在<istream>中的getline函数有两种重载形式:

        istream& getline (char* s, streamsize n );

        istream& getline (char* s, streamsize n, char delim );

        作用是从istream中读取至多n个字符保存在s对应的数组中。即使还没读够n个字符,如果遇到换行符' '(第一种形式)或delim(第二种形式),则读取终止,' '或delim都不会被保存进s对应的数组中。

      2. 在<string>中的getline函数有四种重载形式:

        istream& getline (istream&  is, string& str, char delim);
        istream& getline (istream&& is, string& str, char delim);
        istream& getline (istream&  is, string& str);

        istream& getline (istream&& is, string& str);


        用法和上一种类似,不过要读取的istream是作为参数is传进函数的。读取的字符串保存在string类型的str中。

    【转载自】 

    C++中,getline函数的详解_百度知道 https://zhidao.baidu.com/question/377613227.html


    getline不是C库函数,而是gcc的扩展定义或者C++库函数。它会生成一个包含一串从输入流读入的字符的字符串,直到以下情况发生会导致生成的此字符串结束。

    1)到文件结束,2)遇到函数的定界符,3)输入达到最大限度。

    C 有 fgets(), gets() 函数,gcc编译器扩展定义了getline()函数。

    用于读取一行字符直到换行符,不读取换行符。

    【转载自】

    getline函数_百度百科 https://baike.baidu.com/item/getline%E5%87%BD%E6%95%B0/3932106?fr=aladdin

  • 相关阅读:
    173. Binary Search Tree Iterator
    199. Binary Tree Right Side View
    230. Kth Smallest Element in a BST
    236. Lowest Common Ancestor of a Binary Tree
    337. House Robber III
    449. Serialize and Deserialize BST
    508. Most Frequent Subtree Sum
    513. Find Bottom Left Tree Value
    129. Sum Root to Leaf Numbers
    652. Find Duplicate Subtrees
  • 原文地址:https://www.cnblogs.com/wxl845235800/p/10530387.html
Copyright © 2011-2022 走看看