千家信息网

C++中如何使用cin

发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,这篇文章主要为大家展示了"C++中如何使用cin",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"C++中如何使用cin"这篇文章吧。前言在C++中一般使用c
千家信息网最后更新 2025年02月09日C++中如何使用cin

这篇文章主要为大家展示了"C++中如何使用cin",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"C++中如何使用cin"这篇文章吧。

前言

在C++中一般使用cin来进行交互,获取用户输入信息。cin是C++编程语言中的标准输入流对象,即stream类的对象。cin主要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。主要用到有cin >>cin.get()cin.getline()。cin读取数据也是从缓冲区中获取数据,缓冲区为空时,cin的成员函数会阻塞等待数据的到来,一旦缓冲区中有数据,就触发cin的成员函数去读取数据

一、cin

1、cin >>

支持连续读取,以Tab、空格为分隔符,换行符为结束符号;

/*----------------------------------------------------------------------     > File Name: cinDemo01.cpp     > Author: Jxiepc     > Mail: Jxiepc     > Created Time: Mon 20 Sep 2021 10:09:55 AM CST ----------------------------------------------------------------------*/ #include#include#includeint main(int argc, char *argv[]){     std::string s;     while(std::cin >> s){         std::cout << s << std::endl;     }                                                                                                                    return 0;}

cin>>从缓存区读取数据时,会自动忽略作为第一个字符存在的Tab、空格(Space)、换行,继续读取下一个字符,若缓存区为空,则等待。但是如果读取成功,字符后面的分隔符是残留在缓冲区的,cin>>不做处理。

2、cin.get()

读取字符,包含空格

/*----------------------------------------------------------------------        > File Name: cinGetDemo.cpp        > Author: Jxiepc        > Mail: Jxiepc        > Created Time: Mon 20 Sep 2021 10:20:59 AM CST----------------------------------------------------------------------*/#include#include#include#includevoid test02(){        char str[256];        std::cout << "Enter the name of an existing text file: ";    std::cin.get (str,256);    // get c-string                std::ifstream is(str);     // open file                  char c;        while (is.get(c))          // loop getting single characters            std::cout << c;                                          is.close();                // close file      }void test01(){        char a,b;         a = std::cin.get();        std::cout << "a:" << a <


2.1 函数介绍
int get();istream& get(char&c);/** @func:- 单个字符;       *           - 不会忽略分隔符;*           - 成功读取的时候则返回字符的ASCII码值,遇到文件结束符时则返回EOF(-1);*/istream& get (char* s, streamsize n);istream& get (char* s, streamsize n, char delim);/** @func: - 从在流提取C-串,直到(n-1)字符已被提取或定界字符结束。('\n')或DELIM(自定义)。*           - 若找到定界符则不会从输入序列中提取,并保留作为从流中提取的下一个字符。*           - 如果n大于0,即使提取的是空字符串,也会自动添加一个空字符('\0')到写入序列。* @param s:接收字符串;* @param n:- 写入s的最大字符数(包括终止空字符);*                  - 若小于2,则函数不提取任何字符并设置failbit;*                  - Streamsize是一种带符号的整型。  * @param delim:自定义结束符。*/istream& get(streambuf&sb);istream& get (streambuf& sb, char delim);/** @func:- 从流中提取字符,并将其插入到输出序列流缓冲区对象控制的某人,('\n')或DELIM(自定义)。 *           - 只有成功插入的字符才会从流中提取。分隔字符,还是最终未能插入的字符,保留在那里作为下一个要从流中提取的字符。  */

3、getline()

从标准输入设备读取一串字符串,并以指定的结束符结束。

/*----------------------------------------------------------------------        > File Name: cinGetlineDemo.cpp        > Author: Jxiepc        > Mail: Jxiepc        > Created Time: Mon 20 Sep 2021 11:08:17 AM CST----------------------------------------------------------------------*/#include#include#includevoid test01(){        char name[200];                std::cout << "请输入:" ;        std::cin.getline(name, 200);        std::cout << name << std::endl; }int main(int argc, char *argv[]){                test01();        return 0;}

函数介绍

istream& getline (char* s, streamsize n );istream& getline (char* s, streamsize n, char delim );/** @func:- 从流中提取字符作为未格式化的输入,并将它们以c字符串的形式存储到s中,直到提取的字符成为分隔符,或者有n个字符被写入s中(包括结束的空字符);*           - 如果到达文件结束符,该函数也将停止提取字符;*           - 若n大于0,提取到空串,也会自动添加一个空字符('\0')到写入序列。  * @param s:指向字符数组的指针,在该数组中提取的字符存储为c字符串;* @param n:写入s的最大字符数(包括终止空字符);* @param delim:结束符;*/

以上是"C++中如何使用cin"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0