c中cin的用法
c++中cin与cout详解

c++中cin与cout详解cin与cout一:标准输入函数cin不知道说它是个函数对还是不对,它是代表标准的输入设备--键盘。
他是属于流的,他的用法和流的用法是一样的。
也就是:cin>>变量;小小的说明一下,输入多个变量可以写在一行,如:cin>>x>>y>>z;这样写不是不允许,而是不好看,如果是不同的变量类型,那就更是没头没脑了。
除了你,人家是不知道该输入什么的,所以,一般在输入语句的前面,我们一般都要做一个提示,请输入×××,让人家心里有个底,知道这个变量是做什么的。
另外,这个函数是不用带地址符号"&"的,也不用写明变量类型,千万不要跟scanf混淆。
当然他就也不检查变量输入是否合法。
如:int i;cout<<"please input a number:"cin>>i;cout<<"i="<<i<<endl;如果你输入的是一个字符如'a'那么他也不检查,但你输出的结果不是正确的,这要是手工进行检查。
当然他也跟scanf一样,如果在循环内部输入不合法的变量值,那么也将陷入死循环。
如下:/*一个输入不合法变量陷入死循环的例子*/#include <iostream.h>main(){int i;while(i!=-1){cout<<"i="cin>>i; /*请输入不是一个字符如'a'试试*/cout<<endl;}}如上一个程序,如果你输入的不合法,那就将陷入死循环。
解决的办法有个一,把cin>>i;语句移到判断循环的语句中,那么,你输入的如果是不合法的变量,他将跳出循环。
cin的介绍

1.cin简介cin是C++编程语言中的标准输入流对象,即istream类的对象。
cin主要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。
此外,cout是流的对象,即ostream类的对象,cerr是标准错误输出流的对象,也是ostream 类的对象。
这里的标准输出指的是终端键盘,标准错误输出指的是终端的屏幕。
在理解cin功能时,不得不提标准输入缓冲区。
当我们从键盘输入字符串的时候需要敲一下回车键才能够将这个字符串送入到缓冲区中,那么敲入的这个回车键(\r)会被转换为一个换行符\n,这个换行符\n也会被存储在cin的缓冲区中并且被当成一个字符来计算!比如我们在键盘上敲下了123456这个字符串,然后敲一下回车键(\r)将这个字符串送入了缓冲区中,那么此时缓冲区中的字节个数是7 ,而不是6。
cin读取数据也是从缓冲区中获取数据,缓冲区为空时,cin的成员函数会阻塞等待数据的到来,一旦缓冲区中有数据,就触发cin的成员函数去读取数据。
2. cin的常用读取方法使用cin从标准输入读取数据时,通常用到的方法有cin>>,cin.get,cin.getline。
2.1cin>>的用法cin可以连续从键盘读取想要的数据,以空格、tab或换行作为分隔符。
实例程序如下。
#include <iostream>usingnamespace std;int main(){char a;int b;float c;stringcin>>a>>b>>c;cout<<a<<" "<<b<<" "<<c<<" "<<endl;system("pause");return0;}在屏幕中一次输入:a[回车]11[回车]5.56[回车],程序将输出如下结果:注意:(1)cin>>等价于cin.operator>>(),即调用成员函数operator>>()进行读取数据。
C++基础

C++基础第一章一、浅谈c in与cout1、std::cout<<"Enter two numbers: "<<std::endl;(cin类似)< p="">等价于std::cout<<"Enter two numbers: "std::cout <<std::endl;(作用另起一行,开辟一个缓存区)< p=""> <<是预定义的插入符,即cout后的表达式插入到输出流中就输出返回cout对象本身本身,因而可以向第一行那样连写>>预定义提取符,即将数据从输入流中提取出来返回为cin对象本身,因而可以cin>>表达式1>>表达式2,提取运算符连写2、scanf()输入字符串和数字:读取并忽略有效字符(非空白字符)之前所有的空白字符,然后读取字符直至再次遇到空白字符,读取终止(该空白字符仍留在输入流中不会丢弃该字符)。
3、Cin标准输入(输入数字、字母、字符串):读取并忽略有效字符(非空白字符)之前所有的空白字符,然后读取字符直至再次遇到空白字符,读取终止(该空白字符仍留在输入流中不会丢弃该字符)。
4、scanf输入单个字符与cin.get()输入单个字符一样:空白字符(空格、换行、Tab)和转义字符都作为有效字符(该函数不丢弃上次输入结束时的Enter字符)5、gets()输入字符串与cin.get(array_name, Arsize)一样(实际读取的字符比Arsize少1),有效字符前的空白字符(空格、Tab)和转义字符作为有效字符处理直到再次遇到Enter,会丢弃最后的Enter字符。
cin.getline() 与cin.get(array_name, Arsize)的读取方式差不多,以Enter结束,可以接受空格字符。
cin.getline的用法

cin.getline的用法
cin.getline()函数是C++中的分行输入函数,是标准库中的一个函数,它从输入流中读取数据,直到遇到换行符或者读取到一个特殊字符为止,然后将所读取的数据保存在某个字符串中。
在标准C中,它可以用来从文件中每次读取一行换行符之前的数据,它在
C++中也可以用来从标准输入流stdin中输入数据,如从终端,键盘等设备输入数据,它是和std::getline()函数一起使用的。
std::streamsize cin.getline(char *s, std::streamsize n );
参数s表示要读入的字符数组的首地址,参数n表示以字符为单位,要读入的字符的最大个数,不包含终止符。
cin.getline的返回值为int类型,读取的字符总数,不单单是换行符之前的,而是有可能包括换行符的。
此外,cin.getline()函数还可以接收键盘输入中的空格和tab字符,这在一些情况下可以更加方便的输入数据。
总之,cin.getline()函数是C++中一个非常有用的函数,可以方便快捷的从输入流中读取一行换行符之前的数据,它在C++中广泛用于文件读入,命令行处理,键盘输入等场景,是便捷的输入函数之一。
cin.get()和cin.getline()之间的区别

复制代码 代码如下:
#include <iostream> using std::cin; using std::cout; const int SIZE = 15; int main( ){ cout << "Enter your name:"; char name[SIZE]; cin.get(name,SIZE); cout << "name:" << name; cout << "\nEnter your address:"; char address[SIZE]; cin.get(address,SIZE); cout << "address:" << address; }
输出: Enter your name:jimmyi shi name:jimmyi shi Enter your address:YN QJ address:YN QJ
由于由Enter生成的换行符被抛弃了,所以不会影响下一次cin.get()对地址的读取。 如果cin.get()是一个一个字符的读入,但是cin.get()不会忽略任何字符,对于回车符需要单独处理。
(1) 学会区别get()与getline(); (次读取一整行并把由Enter键生成的换行符抛弃,如:
复制代码 代码如下:
#include <iostream> using std::cin; using std::cout; const int SIZE = 15; int main( ){ cout << "Enter your name:"; char name[SIZE]; cin.getline(name,SIZE); cout << "name:" << name; cout << "/nEnter your address:"; char address[SIZE]; cin.get(address,SIZE); cout << "address:" << address; }
c语言中cin的用法

c语言中cin的用法一、概述在C语言中,cin是一个经常使用的输入流对象,主要用于从控制台或者其他设备上读取用户输入数据。
它可以接收多种类型的输入,并将其存储到相应的变量中。
本文将详细介绍cin的用法,包括如何使用cin进行基本类型输入、字符串输入以及如何处理错误输入。
二、基本类型输入1. cin与基本数据类型变量配合使用时,可以直接使用" >> "操作符将用户的输入值赋给变量。
例如,我们希望从控制台上获取一个整数并存储到变量num中:```int num;cout << "请输入一个整数:";cin >> num;```这段代码首先打印提示信息"请输入一个整数:",然后等待用户的输入。
当用户按下回车键后,程序将会从标准输入流中读取一个整数,并将其赋值给变量num。
2. 对于浮点数、字符和布尔型数据,使用cin也是类似的方式:浮点数:```float f;cout << "请输入一个浮点数:";cin >> f;```字符:```char ch;cout << "请输入一个字符:";cin >> ch;```布尔型:```bool flag;cout << "请输入一个布尔值(0/1):";cin >> flag;```三、字符串输入除了基本类型变量之外,我们还可以使用cin进行字符串的输入。
C++中没有直接支持字符串类型的变量,但我们可以使用字符数组或者string类来存储字符串。
1. 使用字符数组(C风格字符串):```char str[100];cout << "请输入一个字符串:";cin >> str;```这段代码定义了一个大小为100的字符数组str,并通过cin将用户输入的字符串存储到该数组中。
c++ cin.get()的用法小结

c++ cin.get()的用法小结cin.get()是C++中的一个输入函数,用于从输入流中获取一个字符。
它的用法如下:cin.get(char_variable);其中,char_variable是一个变量,用于存储获取的字符。
如果成功获取了字符,则返回输入流对象;否则,返回一个null指针。
cin.get()函数的使用需要注意以下几点:1. 处理输入缓冲区一般情况下,cin.get()函数从输入流中获取一个字符后,会将该字符放入输入缓冲区中。
如果输入缓冲区中还有其他字符,则下次调用cin.get()函数时,会优先从缓冲区中获取字符。
对于这种情况,应该使用cin.ignore()函数清空输入缓冲区。
例如,输入缓冲区中有一个回车符(\n),那么以下代码将不能正确的获取用户输入的字符:为了正确获取用户输入的字符,应该在调用cin.get()函数之前先调用cin.ignore()函数:char ch;cin.ignore();cin.get(ch);2. 处理空格和Tab键cin.get()函数默认会将空格和Tab键当做普通字符处理,如果需要处理空格和Tab键,可以使用cin.get(char_variable, max_size, stop_char)函数。
该函数有三个参数:char_variable:存储获取的字符的变量;max_size:最多读取的字符数,包括空格和Tab键;stop_char:结束读取的字符,不包括在最终读取的字符中。
例如获取一个含有空格的字符串,可以使用以下代码:char str[30];cin.get(str, 30, '\n');注意,该函数获取的字符数应该小于或等于max_size,否则会产生缓冲区溢出的问题。
3. 处理换行符换行符(\n)通常被用来表示用户输入的一个完整的行,因此在处理用户输入时,需要对换行符进行特殊处理。
可以使用以下代码读取用户输入的一行:string line;getline(cin, line);该代码中,getline()函数会从输入流中读取一行字符,包括换行符,存储在line变量中。
C++cin输入的多种方法详解

C++cin输⼊的多种⽅法详解⽬录前⾔⼀、cin1、cin >>2、cin.get()2.1 函数介绍3、getline()前⾔在C++中⼀般使⽤cin来进⾏交互,获取⽤户输⼊信息。
cin是C++编程语⾔中的标准输⼊流对象,即stream类的对象。
cin主要⽤于从标准输⼊读取数据,这⾥的标准输⼊,指的是终端的键盘。
主要⽤到有cin >>、cin.get()、cin.getline()。
cin读取数据也是从缓冲区中获取数据,缓冲区为空时,cin的成员函数会阻塞等待数据的到来,⼀旦缓冲区中有数据,就触发cin的成员函数去读取数据。
⼀、cin1、cin >>⽀持连续读取,以Tab、空格为分隔符,换⾏符为结束符号;/*----------------------------------------------------------------------> File Name: cinDemo01.cpp> Author: Jxiepc> Mail: Jxiepc> Created Time: Mon 20 Sep 2021 10:09:55 AM CST----------------------------------------------------------------------*/#include<iostream>#include<unistd.h>#include<cstring>int main(int argc, char *argv[]){std::string s;while(std::cin >> s){std::cout << s << std::endl;}return 0;}当cin>>从缓存区读取数据时,会⾃动忽略作为第⼀个字符存在的Tab、空格(Space)、换⾏,继续读取下⼀个字符,若缓存区为空,则等待。