c/c++键盘输入

C语言输入:

包含头文件 # include即可。

(1)使用scanf():

(a)利用一个scanf函数输入单个字符:(一个数字也可被认为是一个字符输入)

          char arr[1024];

          int i=0;
          char ch;
          scanf("%c",&arr[0]);  //注意格式,单个字符输入
          ch=arr[0];
          while(ch!='\n')   //连续输入字符,直到输入回车符结束
          {
                  i++;
                 scanf("%c",&arr[i]);
                ch = arr[i];
          }
          arr[i] = '\0';    //注意在末尾加上结束符
          printf("%s\n",arr);

       键盘输入:hello,word hello回车

       命令框显示:hello,word hello
                             hello,word hello
                             请按任意键继续. . .

        此时arr的状态:

                              c/c++键盘输入_第1张图片

(b)利用一个scanf函数输入一个字符串:

       char arr[1024];

       scanf("%s",arr);
       printf("%s\n",arr);

       键盘输入:hello回车

       命令框显示:hello
                            hello
                           请按任意键继续. . .

       此时arr的状态:

                            c/c++键盘输入_第2张图片

         说明:系统自动在hello后面加一个'\0'结束符。


(c)利用一个scanf函数输入多个字符串:

            char arr[1024];

            scanf("%s",arr);  //注意格式,以字符串格式输入
            printf("%s\n",arr);

             键盘输入:hello,word hello回车

             命令框显示:hello,word hello
                                   hello,word
                                  请按任意键继续. . .

             此时arr的状态:

                                  c/c++键盘输入_第3张图片

                说明:系统把空格字符作为输入的字符串之间的分隔符,因此只将空格前的字符hello,word送到arr中。


(2)使用gets():

          输入一个字符串,遇回车结束。

          char arr[1024];
          gets(arr);
          puts(arr);
          printf("%s\n",arr);

          输入:hello word,hello  word回车

          命令框显示:

                     hello word,hello  word
                     hello word,hello  word
                     hello word,hello  word
                     请按任意键继续. . .

           此时arr的状态:

                     c/c++键盘输入_第4张图片

(3)使用getchar():

       getchar():从键盘输入一个字符。

       char arr[1024];
       int i=0;
       arr[0]=getchar();
       while(arr[i]!='\n')  //直到输入回车符时结束
       {
             i++;
            arr[i] = getchar();
        }
        arr[i] = '\0';  //末尾加入分隔符
        printf("%s\n",arr);

         输入:hello word,hello回车

         命令框显示:hello word,hello
                              hello word,hello
                              请按任意键继续. . .

          此时arr的状态:

                              c/c++键盘输入_第5张图片


C++输入:

(1)使用cin,string对象:

           # include
           # include
          using namespace std;

          void main()

           {

                   string sarr;

                   cin>>sarr;
           cout<

          }


          输入:hello,word hello回车

          命令框输出:hello,word hello
                                hello,word
                                请按任意键继续. . .

           说明:string对象遇空白(空格符、换行符、制表符等)结束读入。

(2)使用getline(istream &in, string &s):

从输入流读入一行到string s。

循环读入,回车代表一次读取完毕,再输入下次读取字符:

            string sarr;
            while(getline(cin,sarr))  //反复读取,直到达到文件末尾
            cout<

              输入:hello word,hello回车

              命令框显示:hello wod,hello

                                    hello wod,hello

              继续输入:ni hao ma回车

              命令框显示:hello wod,hello

                                    hello wod,hello

                                                            ni hao ma
                                    ni hao ma

        说明:第一次sarr里面存放的是hello wod,hello,第二次sarr里面存放的是ni hao ma。


只读入一行,遇回车结束读入:(!!!使用string对象输入的终极选择

          string sarr;
          getline(cin,sarr);
          cout<

          输入:hello word,hello回车

          命令行显示:hello word,hello
                               hello word,hello
                              请按任意键继续. . .

         sarr的状态:(可用下标引用元素)

                           c/c++键盘输入_第6张图片

(3)使用vector:

        vector varr;
        char ch;
        while(cin>>ch)
        varr.push_back(ch);

         输入:hello word,hello回车

                    ctrl+z回车

         命令框输出:hello word,hello
                               ^Z
                              请按任意键继续. . .

          varr的状态:(!!!!里面没有空格)

                                c/c++键盘输入_第7张图片

(4)使用vector,string

         string word;
         vector varr;
         while(cin>>word)

         varr.push_back(word);

          输入:hello word, hello ni,hao回车
                     ctrl+z回车

          命令框输出:hello word, hello ni,hao
                                ^Z
                               请按任意键继续. . .
           varr与word的状态:(空白符分单词)

                                 c/c++键盘输入_第8张图片

(5)使用vector,getchar():(!!!使用vector向量输入的终极选择)

        char ch;
        vector varr;
        ch = getchar();
        while(ch!='\n')
        {
              varr.push_back(ch);
              ch = getchar();
         }
         for(int i=0;i               cout<

        输入:hello word,hello回车

        命令框输出:hello word,hello
                              hello word,hello请按任意键继续. . .

         varr的状态:

                          c/c++键盘输入_第9张图片

你可能感兴趣的:(c++)