cin和get(),getline()

cin和get(),getline()

1.面向行输入:getline()
getine()函数读取整行,通过使用回车符来断定输入结尾,但是不保存换行符,而是用空字符来代替换行符。

实际是cin.getline(接收字符串到m,接收个数n,结束字符)。接收一个字符串,可以接收空格等,最后一个字符为‘\0’。结束符可以通过设置第三个参数自己设置,默认是回车。m不能为string类型。
调用:name为数字名称
cin.getling(name,20);

用于string类的。使用需包含头文件#include。getline(cin,string s),接收一个字符串,可以接收空格、回车等

与cin.getline()的区别:1.cin.getline()接收输入字符串的是数组,getline()是string类型。

                                2.cin.getline()可以接收空格,但不能接收回车;getline()可以接收空格和回车

                                3.cin.getline()会在数组结尾是'\0',getline()不会

2.面向行输入get()
和getline()类似接受的参数相同,并且都读到行尾,但是get()并不在读取丢弃换行符,而是将其留在输入队伍里。

cin.get(字符变量名),用来接收字符,只获取一个字符,可以接收空格,遇回车结束。

cin.get(数组名,接收字符数目),用来接收字符串,可以接收空格,遇回车结束。

cin.get(),没有参数,主要用于舍弃输入流中不需要的字符,或者舍弃回车,即舍弃输入流中的一个字符。
3.cin
输入38.5 19.2
(1)

 char ch;
 cin>>ch;

第一个字符被赋值给ch,第一个字符是数字3其二进制被保存到ch。
(2)

int n;
cin n;

在这里cin不断读取,直到遇到非数字字符。也就是说,他将读取3和8,而句点将成为输入队伍中下一个字符。n=38
(3)

double x;
cin>>x

cin不断读取,直到遇到不属于浮点数的字符。也就是说读取38.5而空格成为输入队伍中下一个字符。
(4)

char word[50];
cin>>word;

cin读取知道遇到空白符。也就是说它将读取3,8,“,”,5使空格成为输入队伍中下一个字符。
(5)

char word[50];
cin.getline(word,50);

cin不断读取知道遇到换行符,所以的字符都将被储存到word中,并在末尾加上空字符。

`cin.get` `cin.getline` 是 C++ 标准库中用于从输入流读取数据的函数,使用前需包含 `<iostream>` 头文件。 ### cin.get 的使用方法 `cin.get` 有多种重载形式,常见的使用场景如下: - **读取单个字符**: ```cpp #include <iostream> int main() { char ch; ch = std::cin.get(); std::cout << "You entered: " << ch << std::endl; return 0; } ``` 此代码从输入流读取一个字符并存储在 `ch` 中,然后输出该字符。 - **读取多个字符到字符数组**: ```cpp #include <iostream> int main() { char str[10]; std::cin.get(str, 10); std::cout << "You entered: " << str << std::endl; return 0; } ``` 这里从输入流读取最多 9 个字符到 `str` 数组,因为最后一个位置要留给字符串结束符 `'\0'`。 ### cin.getline 的使用方法 `cin.getline` 用于从输入流读取一行文本,可指定定界符,默认定界符是换行符 `'\n'`。 - **使用默认定界符读取一行文本**: ```cpp #include <iostream> int main() { char str[100]; std::cin.getline(str, 100); std::cout << "You entered: " << str << std::endl; return 0; } ``` 该代码从输入流读取一行文本到 `str` 数组,最多读取 99 个字符,最后一个位置留给 `'\0'`。 - **指定自定义定界符**: ```cpp #include <iostream> int main() { char str[100]; std::cin.getline(str, 100, '#'); std::cout << "You entered: " << str << std::endl; return 0; } ``` 此代码以 `'#'` 作为定界符,读取输入流中的字符直到遇到 `'#'` 或达到 99 个字符。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值