C++输入cin应用详解

输入原理:

程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入

一:cin>>

1)该操作符是根据后面变量的类型读取数据。

输入结束条件 :遇到Enter、Space、Tab键。

对结束符的处理 :丢弃缓冲区中使得输入结束的结束符(Enter、Space、Tab)

#include <iostream>
using namespace std;
int main(){
    char str1[10],str2[10];
    cin>>str1;
    cin>>str2;
    cout<<str1<<endl;
    cout<<str2<<endl;
    return 0;
}

【分析】第一次读取字符串时遇到空格则停止了,将abcd读入str1,并舍弃了空格,将后面的字符串给了第二个字符串。这证明了cin读入数据遇到空格结束;并且丢弃空格符;缓冲区有残留数据,读入操作直接从缓冲区中取数据。

二:

#include <iostream>
using namespace std;
int main(){
    char str[8];
    cin.getline(str,6);
    cout<<str<<endl;
    cin.getline(str,6);
    cout<<str<<endl;
    return 0;
}
<img src="data:image/png;base64,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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++中的getline()函数是一个非常实用的函数,它可以从输入流中读取一行数据(一直读取直到遇到换行符或指定的终止符),并将这一行数据存储到一个字符串对象中。getline()函数的定义如下: ```c++ istream& getline(istream& is, string& str, char delim); ``` 其中,is是输入流对象,str是接收输入数据的字符串对象,delim是用于标识输入结束的字符(默认为'\n')。 下面是一个使用getline()函数读取用户输入的示例: ```c++ #include <iostream> #include <string> using namespace std; int main() { string line; cout << "Please input a line of text: "; getline(cin, line); // 从标准输入流中读取一行文本 cout << "You input: " << line << endl; return 0; } ``` 执行上述代码后,程序会提示用户输入一行文本,然后使用getline()函数读取用户的输入,并将其存储到字符串变量line中,最后输出line的内容。 另外,getline()函数还可以用于读取文件中的数据。下面是一个使用getline()函数读取文件数据的示例: ```c++ #include <iostream> #include <fstream> #include <string> using namespace std; int main() { string line; ifstream infile("test.txt"); // 打开文件 if (infile.is_open()) { // 判断文件是否打开成功 while (getline(infile, line)) { // 逐行读取文件内容 cout << line << endl; // 输出每行内容 } infile.close(); // 关闭文件 } else { cout << "Failed to open file!" << endl; } return 0; } ``` 执行上述代码后,程序会打开名为test.txt的文件,并逐行读取其中的数据,最后将每行的内容输出到控制台。如果文件打开失败,则程序会输出提示信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值