字符串常用输入方法总结


前言:
个人是从两个角度去比较思考总结的
(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++字符串常用输入方法相关推荐

  1. 一次性汇总了 30+ 字符串常用处理方法

    今天这篇推文我们就汇总下Python中常用的字符串处理小技巧,字符串在Python数据处理中是非常常见且极易忽略的常用数据类型,且Python本身也提供大量运算符.函数和方法来处理字符串.话不多说,接 ...

  2. 总结 | Java字符串常用操作(方法)

    Java字符串 Java String类 创建字符串 字符串长度获取 连接字符串 字符串查找 获取指定位置的字符串 获取子字符串 去除字符串首尾的空格() 字符串替换 判断字符串的开始与结尾 判断字符 ...

  3. CSDN中空格的常用输入方法

    小伙伴们在撰写CSDN博客时,常常需要打印空格,下面是常用两种方法: 第一种:切换输入法到全角符号 一般为shift+空格键,如果不能切换,因为快捷键没有打开,打开方式参考这里链接: https:// ...

  4. python字符串常用的方法_python字符串常用方法

    1. isalnum() :判断字符串所有的字符都是字母或者数字.返回true和false In [1]: str1='jiangwei520' In [2]: str2='jiang wei' In ...

  5. python字符串三种常用的方法或函数_python中字符串常用的函数

    s ="hello world" s[2] >>> "l" 索引 s.index("l") >>> 2 ...

  6. python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  7. C++字符串的几种输入方法(string和字符数组)

    ps:本文大部分内容参考于这篇博客,在这里加入了自己对这些函数在字符数组和string变量的理解和总结. C++中的输入大致有6种方法:cin,cin.get(),cin.getline(),gets ...

  8. java的知识点15——String基础、String类和常量池、String类常用的方法、字符串相等的判断、组合模式

    String基础 1. String类又称作不可变字符序列. 2. String位于java.lang包中,Java程序默认导入java.lang包下的所有类. 3. Java字符串就是Unicode ...

  9. java面向对象使用字符串_java面向对象中的String类中12种常用的方法

    1.字符串与字符数组的转换 字符串可以使用toCharArray()方法变成一个字符数组,也可以使用String类的构造方法把一个字符数组变成一个字符串. public class StringAPI ...

最新文章

  1. mysql里条件语句和循环语句_MySQL与Oracle 差异比较之四条件循环语句
  2. 点评----和时代专线
  3. ubuntu18 常用命令
  4. 4个空格和一个tab有什么区别_为什么有时候会放屁连连?这4个原因,一个都别放过...
  5. 宝宝树发行价为6.8港元 11月27日在港交所正式挂牌
  6. 不属于python数据类型的是_python基础3 ---python数据类型二
  7. linux 并行 模式,并行设计模式-Master/Worker
  8. 我的dota之路(下)
  9. Linux3.4内核的基本配置和编译
  10. 传输层协议(13):拥塞控制(2)
  11. word安全模式解除
  12. 量子计算机宋超,蒿杰团队实感计算架构助力20超导量子比特薛定谔猫态制备-资讯-知识分子...
  13. Selenium控制已打开的IE浏览器
  14. oracle rman list,Oracle RMAN的show,list,crosscheck,delete
  15. Linux(深度deepin)下安装jdk、tomcat、idea
  16. 大数据可视化管理antV使用详解
  17. python破解zip压缩包密码
  18. 使用对比学习处理大规模多模态单细胞数据
  19. 解决Post请求中文乱码问题
  20. MYSQL:时间粒度(每30s、每1分钟、每5分钟、每1小时、每1周、每1月、每1季度、每1年)

热门文章

  1. 任务调度框架Quartz用法指南(超详细)
  2. accept()函数说明
  3. 全文搜索 full-text search
  4. poi处理word内容的公式_Java 使用 POI 操作 XWPFDocument 中的 XWPFParagraph(段落)对象的属性略解 Wor - 链滴...
  5. 【算法】分治策略:芯片测试
  6. Ashampoo WinOptimizer 2021
  7. 定时自动关闭程序、打开网页和隐藏任务计划
  8. 爬虫的基本原理:网络爬虫、爬虫基本流程、解析方式、保存数据
  9. VMware安装虚拟机详细教程
  10. long类型强转成int类型解析