iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >c++中cin实现输入字符串方式
  • 668
分享到

c++中cin实现输入字符串方式

c++cincin输入字符串c++cin输入 2022-11-13 19:11:09 668人浏览 独家记忆
摘要

目录c++ cin如何输入字符串1、cin2、cin.get()3、cin.getline()4、getline()c++ cin输入 不定长输入c++ cin如何输入字符串 1、c

c++ cin如何输入字符串

1、cin

cin会过滤掉不可见字符(如空格、回车、tab等)。

如果不想略过空白字符,可以使用noskipws流控制。

cin>>noskipws>>input[i]

2、cin.get()

cin.get()可以用来接收字符

cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格。

char a[20];
cin.get(a,20);
cout<<a<<endl;

cin.get()默认接收一个字符,以tab键、space键和enter键结束。

3、cin.getline()

接收一个字符串,可以接收空格并输出

cin.getline(m,5)

接收5个字符到m中,其中最后一个为‘\0’,所以只看到4个字符输出。

4、getline()

接收一个字符串,可以接收空格并输出,需包含#include

getline(cin,str);

c++ cin输入 不定长输入

C++ 不定长输入,保存进数组,并打印

#include<iOStream>
#include<vector>
using namespace std;
 
int main() {
    vector<int> arr;
    int i;
    do {
        cin >> i;
        arr.emplace_back(i);
    } while (cin.get() != '\n');
    for (auto it = arr.begin(); it != arr.end(); it++) {
        cout << *it << " ";
    }
    cout << endl;
    return 0;
}

输出

1 2 3 4 5 6 7
1 2 3 4 5 6 7

cin.get()获取输入一个字符,包含空格或换行等特殊字符,cin自动忽视空格或换行等特殊字符,cin读取一个个数字,cin.get()读取空格...以此交叉读取。

#include<iostream>
#include<vector>
using namespace std;
 
int main() {
    vector<int> arr;
    int i;
    while (cin.get() != '\n') {
        cin >> i;
        arr.emplace_back(i);
    } 
    for (auto it = arr.begin(); it != arr.end(); it++) {
        cout << *it << " ";
    }
    cout << endl;
    return 0;
}

输出

1 2 3 4 5 6 7
2 3 4 5 6 7

cin.get()读取第一个数字,cin忽视第一个空格读取第二个数字,cin.get()读取第二个空格...以此交叉读取,因此第一个数字1没被cin读取。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: c++中cin实现输入字符串方式

本文链接: https://www.lsjlt.com/news/170700.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作