IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++字符串常用输入方法 -> 正文阅读

[C++知识库]C++字符串常用输入方法

字符串常用输入方法总结


前言:
个人是从两个角度去比较思考总结的
(1)能否输入空格
(2)输入支持的是
①单个字符
②还是char[]字符数组
③还是string类字符串

1.scanf("%c",&s);

只输入char型的单个字符

#include<iostream>
#include <cstdio>
using namespace std;
int main()
{
	char s;
	scanf("%c",&s);
	cout<<s;	
} 

//输入:abc
//输出:a
2.scanf("%s",s);

输入一个字符串,但不包含空格

只能输入char型字符数组,不能输入string类字符串

#include<iostream>
#include <cstdio>
using namespace std;
int main()
{
	char s[100];
	scanf("%s",s);
	cout<<s;	
} 

//输入:abc
//输出:abc

//输入:abc abc
//输出:abc
3.getchar()

getchar()只能输入char型的单个字符
putchar()向终端输出一个字符

getchar()与putchar()函数包含在头文件<stdio.h>里,属于C语言的函数,C++也可以兼容,但不建议使用。

#include<iostream>
#include <cstdio>
using namespace std;
int main()
{
	char s;
	s=getchar();//不能写成getchar(s);
	cout<<s;	
} 

//输入:abc
//输出:a
4.gets()

接受一个字符串,可以接收空格,直到遇到换行停止输出,需包含#include<cstring>

#include<iostream>
#include <cstdio>
using namespace std;
int main ()
{
	char s[20];
	gets(s); //不能写成s=gets();
	cout<<s<<endl;
}

//输入:abcabcabc
//输出:abcabcabc

//输入:abc abc abc
//输出:abc abc abc

**注意:**C++11标准后,已经不支持gets()函数了。但C语言中gets()提交代码时可以使用。

5.cin>>

接受一个字符串,遇“空格”、“Tab”、“回车”都结束

可以输入char型字符数组,也能输入string类字符串

#include<iostream>
using namespace std;
int main ()
{
	char s[20];
	cin>>s;
	cout<<s<<endl;
}

//输入:abcabcabc
//输出:abcabcabc

//输入:abc abc abc遇空格结束,所以不能输入空格 
//输出:abc
6.cin.get()

用法一:能获取输入一个字符

#include<iostream>
using namespace std;
int main ()
{
	char s;
	s=cin.get();
	cout<<s<<endl;
}

//输入:abc
//输出:a

用法二:也可以输入字符数组并且可以接受空格

只能输入char型字符数组,不能输入string类字符串

#include<iostream>
using namespace std;
int main ()
{
	char s[100];
	cin.get(s,99);//输入范围可以写大点
	cout<<s<<endl;
}

//输入:abcabcabc
//输出:abcabcabc

//输入:abc abc abc
//输出:abc abc abc

用法三:cin.get()可以吃掉回车,可以回车后再输入一串字符

#include <iostream>
using namespace std;
int main()
{
     
    char s[10];
    cin.get(s,10);
    cin.get();//用于吃掉回车,相当于getchar();
    cout<<s<<endl;
    cin.get(s,5);
    cout<<s<<endl;
    system("pause");
    return 0;
}
 
//输入abcdefghi
//输出abcdefghi
//输入abcde
//输出abcd
//请按任意键继续
7.cin.getline()

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

只能输入char型字符数组,不能输入string类字符串

cin.getline()实际上有三个参数,cin.getline(接受字符串,接受个数,结束字符),当第三个参数省略时,系统默认为’\0’ 是’/n’

#include<iostream>
#include <string> 
using namespace std;
int main ()
{
	char s[100];
	cin.getline(s,10); 
	cout<<s<<endl;
}

//输入:abcabcabc
//输出:abcabcabc

//输入:abc abc abc
//输出:abc abc a 只输入了10个长度的字符串 ,其中最后一个为'\0',所以只看到9个字符输出; 
8.getline()

接受一个字符串,可以接收空格并输出,getline()顾名思义就是将整行的所有字符读到字符串中

注意输入字符串的是string类的字符串,不能输入char型字符数组,需头文件#include<string>

getline()和cin.getline()类似,但是cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数

#include<iostream>
#include <string> 
using namespace std;
int main ()
{
	string s;
	getline(cin,s); 
	cout<<s<<endl;
}

//输入:abcabcabc
//输出:abcabcabc

//输入:abc abc abc
//输出:abc abc abc
9.scanf("%[^\n]",s)

接受一个字符串,可以接收空格并输出,头文件#include <cstdio>

只能输入char型字符数组,不能输入string类字符串

#include<iostream>
#include <cstdio> 
using namespace std;
int main ()
{
	char s[100];
	scanf("%[^\n]",s);
	cout<<s<<endl;
}

//输入:abcabcabc
//输出:abcabcabc

//输入:abc abc abc
//输出:abc abc abc 

^表示"非",[^\n]表示读入换行字符就结束读入。这个是scanf的正则用法,我们都知道scanf不能接收空格符,但是使用%[^\n]就可以了。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-04 13:12:48  更:2021-12-04 13:14:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:32:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码