zoukankan      html  css  js  c++  java
  • C++ cin.get及getline的用法

    1.cin.get()

    从指定的输入流中提取一个字符,函数的返回值就是这个字符。文件结束符会返回EOF,一般以-1代表EOF。

    1 #include<iostream>
    2 using namespace std;
    3 
    4 int main(){
    5     char c;
    6     while((c=cin.get()!=EOF))
    7         cout.put(c);
    8     return 0;
    9 }

    2.cin.get(ch)

    读取一个字符,赋值给ch,读取成功返回非0值,读取失败(遇到文件结束符)返回0。

    1 #include<iostream>
    2 using namespace std;
    3 
    4 int main(){
    5     char c;
    6     while(cin.get(c))
    7         cout.put(c);
    8     return 0;
    9 }

    3.cin.get(字符数组,字符个数n,终止字符)

    cin.get(字符指针,字符个数n,终止字符)

    读取n-1个字符,若在n-1个字符之前遇到终止字符,提前结束读取。

    1 #include<iostream>
    2 using namespace std;
    3 
    4 int main(){
    5     char c[20];
    6     cin.get(c,10,'\n');
    7     cout<<c<<endl;
    8     return 0;
    9 }

    或者使用char*

     1 #include<iostream>
     2 using namespace std;
     3 
     4 int main(){
     5     char* c;
     6     c = new char[20]; //动态指针使用前需要分配内存 
     7     cin.get(c,10,'\n');
     8     cout<<c<<endl;
     9     return 0;
    10 }

    4.cin.getline(字符数组(或指针),字符个数n,终止字符)

    getline用法与带三个参数的get函数类似。

    1 #include<iostream>
    2 using namespace std;
    3 int main(){
    4     char c[20];
    5     cin.getline(c,20,'/');
    6     cout<<c<<endl;
    7     return 0;
    8 } 

    注意:

    cin.getline与cin.get的区别:cin.get( , , )遇到终止字符停止读取后,指针不向后移动;

    cin.getline( , , )遇到终止字符结束后,指针移到终止字符后。

    getline()是string类的函数

    getline()     // 接受一个字符串,可以接收空格并输出,需包含“#include<string>”

    和cin.getline()类似,但是cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数

    http://www.cnblogs.com/flatfoosie/archive/2010/12/22/1914055.html

    http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html

  • 相关阅读:
    BFC
    js异常处理
    vue双向数据绑定的简单实现
    cookie封装,localstage封装
    问题 1476: [蓝桥杯][基础练习VIP]龟兔赛跑预测 (模拟)
    HDU 6205 (模拟) card card card
    HDU 4545 (模拟) 魔法串
    HDU 4521 小明系列问题——小明序列 (线段树 单点更新)
    基础动态规划 讲解
    HDU 1561 The more, The Better (有依赖背包 || 树形DP)
  • 原文地址:https://www.cnblogs.com/beatets/p/6417886.html
Copyright © 2011-2022 走看看