c++录入字符串(含空格)

本文介绍了C++中几种常用的输入函数,包括getline用于读取一行文本,cin.getline用于读取固定长度的字符串,getchar用于读取单个字符,以及gets用于读取整行字符串直至遇到回车为止。这些函数在C++程序设计中非常实用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.getline(cin,name);
回车停止;

#include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{	string str;
	getline(cin,str);
	cout<<str;
	return 0;
}

在这里插入图片描述
2.cin.getline()
此函数会一次读取多个字符(包括空白字符)。它以指定的地址为存放第一个读取的字符的位置,依次向后存放读取的字符,直到读满N-1个,或者遇到指定的结束符为止。若不指定结束符,则默认结束符为’\0’。其语法为:
cin.getline(字符指针(char*),字符个数N+1(int+1),结束符(char));

#include <iosteram>
using namespace std;
int main()
{
    char a[30];
    cin.getline(a, 10);
    for( int i=0; i<10; i++ )
        cout << a[i] << " ";
    return 0;
}

在这里插入图片描述
3.getchar
是读入函数的一种。它从标准输入里读取下一个字符,相当于getc(stdin)。返回类型为int型,为用户输入的ASCII码或EOF。
************切记,这个每次只能录入一个字符,当然,也可以用来清楚每行末尾的回车键;
简单实例:

#include
#include
#include
using namespace std;

int main()
{
char s=getchar();
cout<<s<<endl;
}
在这里插入图片描述
4.gets(回车终止)
从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。
gets(s);
其中s为字符串变量(字符串数组名或字符串指针)。
gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s",s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
也就是说:gets()函数读取到\n(我们输入的回车)于是停止读取,但是它不会把\n包含到字符串里面去。然而,和它配合使用的puts函数,却在输出字符串的时候自动换行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值