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

  • 相关阅读:
    luogu 3158 [CQOI2011]放棋子
    bzoj 1455 罗马游戏
    luogu 1587 [NOI2016]循环之美
    可供出售的金融资产的交易费用计入初始成本
    交易性金融资产 其他债权投资 债权投资
    win10开始菜单图标损坏修复
    电脑账户无“改用Microsoft账户登录”
    发货通知单明细调整
    背书(财务、会计)
    列表不显示明细
  • 原文地址:https://www.cnblogs.com/beatets/p/6417886.html
Copyright © 2011-2022 走看看