一、字符串输入输出函数

1.  cin.get()  

逐个字符输入输出

2.  cin

可以将整个字符串一次性输入,但是,cin将空格、Tab和回车键,因此不能用于数组的一次性输入。

注意:cin和cout  都可以用于字符串整体输入输出,无须像cin.get()函数那样只能逐个字符输入,但是

cin 不可以输入空格,而cout可以输出空格。

3. cin.getline()

接收一个字符串,可以接收空格并输出,遇到回车键结束。

 #include <iostream>

 using namespace std;

 main ()

 {

 char m[];

 cin.getline(m,);

 cout<<m<<endl;

 }

输入:jkljkljkl

输出:jklj

       注意:接收5个字符到m中,其中最后一个自动添加为'\0',所以只看到4个字符输出;

如果把5改成20:

输入:jkljkljkl

输出:jkljkljkl

输入:jklf fjlsjf fjsdklf

输出:jklf fjlsjf fjsdklf

延伸:

1、cin.getline()实际上有三个参数,cin.getline(接收字符串的变量,接收字符个数,结束字符)。

2、当第三个参数省略时,系统默认为'\0'。

3、如果将例子中cin.getline()改为cin.getline(m,5,'a');当输入jlkjkljkl时输出jklj,输入jkaljkljkl时,输出jk。

4.  getline()

接收一个字符串,可以接收空格并输出,需包含“#include<string>”,遇到回车键结束。

#include<iostream>

#include<string>

using namespace std;

main ()

{

string str;
getline(cin,str);
cout<<str<<endl;
}

输入:jkljkljkl
输出:jkljkljkl

输入:jkl
jfksldfj jklsjfl
输出:jkl jfksldfj jklsjfl

5.
gets_s
和puts函数

在新的C++标准中,原来的gets函数现在已经改成了gets_s。

(1)gets_s函数:输入一个字符串到字符数组中,可以输入空格和Tab,但是不能输入回车键。输入完成后,在结尾自动添加空字符。

char
str[80];

gets_s(str);

(2)puts_s函数输出一个字符串,但是不包含空字符,但在新的C++标准中,也能输出空字符。

char str[80]=”programme”;

puts_s(str);

二、C++字符串中空格,空字符、回车、换行的区别

(1)空格的ASCII码为32,符号表示为 \40,    赋值语句为:

char a=’ ‘; 或者char
a=32;

(2) \0  表示结束符,一般在字符串的最后是结束字符,ASCII码为0。一般字符串输出函数遇到空字符就停止输出。

(3)  \r  表示回车符,  c++语言编程时(windows系统)   就是return 回到本行行首, 这就会把这一行以前的输出覆盖掉

如:
int main()

{
cout << "hahaha" << "\r" << "xixi" ;
}
最后只显示 xixi 而 hahaha 被覆盖了

(4) \n 是换行符,c++语言编程时(windows系统),是回车+换行, 把光标先移到行首, 然后换到下一行,也就是下一行的行首。

int main() {
cout << "hahaha" << "\n" << "xixi" ;
}
则 显示
hahaha
xixi

三.
字符变量赋值和字符串初始化

(1)字符变量赋值用单引号
‘’或者直接用ASCII码;

(2)字符串赋值用双引号

char a[10]=”abcd”;

或者char
a[4]={‘a’,’b’,’c’,’d’};

理解记忆:字符变量或者字符串中的元素如a[3],里面存储的是ASCII值,而不是字符,因为计算机存储的其实都是数字。单引号‘’表示取引号内的ASCII值。双引号表示文本。

      注:本文有部分内容来自于网上网友的博客,在此向他们表示感谢。

 

C++中的字符串的输入输出函数、空字符与空格的区别、字符变量赋值和字符串初始化的更多相关文章

  1. C 语言-----字符串和输入输出函数

    在C语言中,没有字符串类型,那它是怎么表示字符串呢? 由于字符串是一系列单个字符的组合,所以它用char 类型的数组来表示字符串,在数组中,一个数组元素存放一个char类型字符. ]; name 变量 ...

  2. C字符串输入输出函数

    下面就几个常用的字符串输入输出函数做个小小的总结TAT 使用时添加头文件:#include<stdio.h>. scanf("格式控制字符串",变量地址列表):(pri ...

  3. C语言中最常用的三种输入输出函数scanf()、printf()、getchar()和putchar()

    本文给大家介绍C语言中最常用的三种输入输出函数scanf().printf().getchar()和putchar(). 一.scanf()函数格式化输入函数scanf()的功能是从键盘上输入数据,该 ...

  4. C语言中输入输出函数

    1.1.1 格式化输入输出函数Turbo C2.0 标准库提供了两个控制台格式化输入. 输出函数printf() 和scanf(), 这两个函数可以在标准输入输出设备上以各种不同的格式读写数据.pri ...

  5. C语言 · 字符串输入输出函数

    算法提高 3-2字符串输入输出函数   时间限制:1.0s   内存限制:512.0MB      描述 编写函数GetReal和GetString,在main函数中分别调用这两个函数.在读入一个实数 ...

  6. Java实现 蓝桥杯VIP 算法提高 3-2字符串输入输出函数

    算法提高 3-2字符串输入输出函数 时间限制:1.0s 内存限制:512.0MB 描述 编写函数GetReal和GetString,在main函数中分别调用这两个函数.在读入一个实数和一个字符串后,将 ...

  7. C语言字符串输入输出函数(gets()函数、puts()函数、fgets()函数、fputs()函数)

    scanf("%s", str) 不能读取空白字符,遇到第一个空白字符就停止读取. gets(str) 读取整行输入,直至遇到换行符,丢弃换行符储存其余字符,并在末尾添加 \0.与 ...

  8. c语言的输入输出函数

    参考文章: http://blog.sina.com.cn/s/blog_784f40b80100psg9.html C语言输入输出函数分为两类: 1.格式化输入输出函数 2.非格式化输入输出 --- ...

  9. C语言格式化输入输出函数

    一:格式输出函数printf() 1.调用形式一般为:printf("格式化控制字符串",输出表列): 2.格式化控制字符串用于指定输出格式,它有三种形式: 1.格式说明符:规定了 ...

随机推荐

  1. ASP.NET Core API 接收参数去掉烦人的 [FromBody]

    在测试ASP.NET Core API 项目的时候,发现后台接口参数为类型对象,对于PostMan和Ajax的Post方法传Json数据都获取不到相应的值,后来在类型参数前面加了一个[FromBody ...

  2. 移动端input“输入框”常见问题及解决方法

    转自 https://www.cnblogs.com/ljx20180807/p/9837748.html 1. ios中,输入框获得焦点时,页面输入框被遮盖,定位的元素位置错乱: 当页input存在 ...

  3. 如何查找redis使用的是哪个配置文件

    ps -ef|grep redis 得到了进程号 xxxx 然后 ls -l /proc/xxxx/cwd ps:可以推广到其他进程,只要有pid,就能找到配置文件

  4. Apache和Nginx的区别

    Nginx 轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源 抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apa ...

  5. leecode第二百三十题(二叉搜索树中第K小的元素)

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  6. asp.net 虹软 人脸识别 实现刷脸住宿、刷脸签到、刷脸进入等

    先看看效果图,我把demo改成自动运行了,暂时借用别人的图片: 最左侧的大图为选择上传的, 中间的小图是大图的脸, 右侧的大图是人脸文件夹中已经存在的,并且相似度较高的一张脸,也就是比对的结果. 先记 ...

  7. Project Euler 75: Singular integer right triangles

    题目链接 思路: 勾股数组,又称毕达格拉斯三元组. 公式:a = s*t b = (s^2 - t^2) / 2 c = (s^2 + t^2) / 2 s > t >=1 且为互质的奇数 ...

  8. [经验]怎么删除“通过QQ/TIM发送到”右键菜单

      首先打开QQ主面板上的系统设置   选择[基本设置]-[文件管理]菜单,并将如图所示的选项去掉勾选即可

  9. LeetCode--035--搜索插入位置(java)

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...

  10. php实现ZIP压缩文件解压缩

    测试使用了两个办法都可以实现: 第一个:需要开启配置php_aip.dll <?php //需开启配置 php_zip.dll //phpinfo(); header("Content ...