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

            输入是一整行的字符串的:
            C 语法:

    1 char buf[20];
    2 gets(buf);

            C++ 语法:
            如果用 string buf; 来保存:

    1 getline(cin, buf);

            如果用 char buf[255]; 来保存:

    1 cin.getline(buf, 255);

            在多个字符串之间用一个或多个空格分隔:

    1 scanf("%s %s", str1, str2);

            字符串之间用回车符作分隔,使用 gets 函数:

    1 gets(str1);
    2 gets(str2);

            通常情况下,接受短字符用scanf函数,接受长字符用 gets 函数。
            而 getchar 函数每次只接受一个字符,经常 c=getchar() 这样来使用。
            getline 是一个函数,它可以接受用户的输入的字符,直到已达指定个数,或者用户输入了特定的字符。它的函数声明形式(函数原型)如下:

    1 istream& getline(char line[], int size, char endchar = ' ');

            不用管它的返回类型,来关心它的三个参数:
            char line[]: 就是一个字符数组,用户输入的内容将存入在该数组内。
            int size : 最多接受几个字符?用户超过 size 的输入都将不被接受。
            char endchar :当用户输入 endchar 指定的字符时,自动结束。默认是回车符。
            结合后两个参数,getline 可以方便地实现: 用户最多输入指定个数的字符,如果超过,则仅指定个数的前面字符有效,如果没有超过,则用户可以通过回车来结束输入。

    1 char name[4];
    2 cin.getline(name, 4, ' ');

            由于 endchar 默认已经是 ' ',所以后面那行也可以写成:

    1 cin.getline(name, 4);

            最后需要说明的是,C++的输入输出流用起来比较方便,但速度比C要慢得多。在输入输出量巨大时,用C++很可能超时,应采用C的输入输出。

  • 相关阅读:
    可汗学院的数学从零开始学习顺序?
    判断两个数组内容是否相同
    eclipse package,source folder,folder区别及相互转换
    [垂直化搜索引擎]lucene简介及使用
    有效处理Java异常三原则
    ZeroMQ作者于昨天下午宣布选择安乐死
    linux一路填坑...
    gcc/g++/makefile/easymake/cmake/xmake/nmake ...
    RTSP客户端接收存储数据(live555库中的openRTSP实例)
    RTSP客户端接收存储数据(live555库中的testRTSPClient实例)
  • 原文地址:https://www.cnblogs.com/upstart/p/6623165.html
Copyright © 2011-2022 走看看