C++中的字符串的输入输出函数、空字符与空格的区别、字符变量赋值和字符串初始化
2017-08-24 10:21
375 查看
<div id="cnblogs_post_body"><p align="center"><strong> </strong></p>
<p align="left"><strong>一、</strong><strong>字符串输入输出函数</strong></p>
<p align="left"><strong>1. </strong><strong>cin.get() </strong></p>
<p> 逐个字符输入输出</p>
<p><strong>2. </strong><strong>cin</strong></p>
<p> 可以将整个字符串一次性输入,但是,cin将空格、Tab和回车键,因此不能用于数组的一次性输入。</p>
<p> 注意:cin和cout 都可以用于字符串整体输入输出,无须像cin.get()函数那样只能逐个字符输入,但是</p>
<p> cin 不可以输入空格,而cout可以输出空格。</p>
<p><strong>3. cin.getline() </strong></p>
<p> 接收一个字符串,可以接收空格并输出,遇到回车键结束。</p>
<div class="cnblogs_code"><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div>
<pre><span style="font-size: 18px; font-family: "times new roman", times"><span style="color: #008080"> 1</span> #include <iostream>
<span style="color: #008080"> 2</span>
<span style="color: #008080"> 3</span> <span style="color: #0000ff">using</span> <span style="color: #0000ff">namespace</span><span style="color: #000000"> std;
</span><span style="color: #008080"> 4</span>
<span style="color: #008080"> 5</span> <span style="color: #000000">main ()
</span><span style="color: #008080"> 6</span>
<span style="color: #008080"> 7</span> <span style="color: #000000">{
</span><span style="color: #008080"> 8</span>
<span style="color: #008080"> 9</span> <span style="color: #0000ff">char</span> m[<span style="color: #800080">20</span><span style="color: #000000">];
</span><span style="color: #008080">10</span>
<span style="color: #008080">11</span> cin.getline(m,<span style="color: #800080">5</span><span style="color: #000000">);
</span><span style="color: #008080">12</span>
<span style="color: #008080">13</span> cout<<m<<<span style="color: #000000">endl;
</span><span style="color: #008080">14</span>
<span style="color: #008080">15</span> }</span></pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div>
<p> </p>
<p style="margin-left: 30px"> </p>
<p style="margin-left: 30px">输入:jkljkljkl</p>
<p style="margin-left: 30px">输出:jklj</p>
<p><strong> 注意:</strong>接收5个字符到m中,其中最后一个自动添加为'\0',所以只看到4个字符输出;</p>
<p> </p>
<p style="margin-left: 30px">如果把5改成20:</p>
<p style="margin-left: 30px">输入:jkljkljkl</p>
<p style="margin-left: 30px">输出:jkljkljkl</p>
<p> 输入:jklf fjlsjf fjsdklf</p>
<p style="margin-left: 30px">输出:jklf fjlsjf fjsdklf</p>
<p> </p>
<p style="margin-left: 30px"><strong>延伸:</strong></p>
<p style="margin-left: 30px">1、cin.getline()实际上有三个参数,cin.getline(接收字符串的变量,接收字符个数,结束字符)。</p>
<p style="margin-left: 30px">2、当第三个参数省略时,系统默认为'\0'。</p>
<p style="margin-left: 30px">3、如果将例子中cin.getline()改为cin.getline(m,5,'a');当输入jlkjkljkl时输出jklj,输入jkaljkljkl时,输出jk。</p>
<p align="left"><strong>4. getline()</strong></p>
<p style="margin-left: 30px" align="left">接收一个字符串,可以接收空格并输出,需包含“#include<string>”,遇到回车键结束。</p>
<p style="margin-left: 30px" align="left">#include<iostream></p>
<p style="margin-left: 30px" align="left">#include<string></p>
<p style="margin-left: 30px" align="left">using namespace std;</p>
<p style="margin-left: 30px" align="left">main ()</p>
<p style="margin-left: 30px" align="left">{</p>
<p style="margin-left: 30px" align="left">string str;<br>
getline(cin,str);<br>
cout<<str<<endl;<br>
}</p>
<p style="margin-left: 30px" align="left">输入:jkljkljkl<br>
输出:jkljkljkl</p>
<p style="margin-left: 30px" align="left">输入:jkl
jfksldfj jklsjfl<br>
输出:jkl jfksldfj jklsjfl</p>
<p><strong>5.
gets_s</strong><strong>和</strong><strong>puts</strong><strong>函数</strong> </p>
<p style="margin-left: 30px">在新的C++标准中,原来的gets函数现在已经改成了gets_s。</p>
<p>(1)gets_s函数:输入一个字符串到字符数组中,可以输入空格和Tab,但是不能输入回车键。输入完成后,在结尾自动添加空字符。</p>
<p style="margin-left: 30px">char
str[80];</p>
<p style="margin-left: 30px">gets_s(str);</p>
<p>(2)puts_s函数输出一个字符串,但是不包含空字符,但在新的C++标准中,也能输出空字符。</p>
<p style="margin-left: 30px"> char str[80]=”programme”;</p>
<p style="margin-left: 30px"> puts_s(str);</p>
<p> </p>
<p> </p>
<p><strong>二、</strong><strong>C++</strong><strong>字符串中空格,空字符的区别</strong></p>
<p>(1)空格的ASCII码为32,赋值语句为:</p>
<p style="margin-left: 30px"> char a=’ ‘; 或者char
a=32;</p>
<p>(2)\0表示结束符,一般在字符串的最后是结束字符,ASCII码为0。一般字符串输出函数遇到空字符就停止输出。</p>
<p> </p>
<p><strong>三.
</strong><strong>字符变量赋值和字符串初始化</strong></p>
<p> (1)字符变量赋值用单引号
‘’或者直接用ASCII码;</p>
<p> (2)字符串赋值用双引号</p>
<p> char a[10]=”abcd”;</p>
<p> 或者char
a[4]={‘a’,’b’,’c’,’d’};</p>
<p>理解记忆:字符变量或者字符串中的元素如a[3],里面存储的是ASCII值,而不是字符,因为计算机存储的其实都是数字。单引号‘’表示取引号内的ASCII值。双引号表示文本。 </p>
<p> </p>
<p><strong> 注:本文有部分内容来自于网上网友的博客,在此向他们表示感谢。</strong></p>
<p> </p>
<p> </p>
<p align="center"><strong> </strong></p>
<p align="center"> </p></div>
<p align="left"><strong>一、</strong><strong>字符串输入输出函数</strong></p>
<p align="left"><strong>1. </strong><strong>cin.get() </strong></p>
<p> 逐个字符输入输出</p>
<p><strong>2. </strong><strong>cin</strong></p>
<p> 可以将整个字符串一次性输入,但是,cin将空格、Tab和回车键,因此不能用于数组的一次性输入。</p>
<p> 注意:cin和cout 都可以用于字符串整体输入输出,无须像cin.get()函数那样只能逐个字符输入,但是</p>
<p> cin 不可以输入空格,而cout可以输出空格。</p>
<p><strong>3. cin.getline() </strong></p>
<p> 接收一个字符串,可以接收空格并输出,遇到回车键结束。</p>
<div class="cnblogs_code"><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div>
<pre><span style="font-size: 18px; font-family: "times new roman", times"><span style="color: #008080"> 1</span> #include <iostream>
<span style="color: #008080"> 2</span>
<span style="color: #008080"> 3</span> <span style="color: #0000ff">using</span> <span style="color: #0000ff">namespace</span><span style="color: #000000"> std;
</span><span style="color: #008080"> 4</span>
<span style="color: #008080"> 5</span> <span style="color: #000000">main ()
</span><span style="color: #008080"> 6</span>
<span style="color: #008080"> 7</span> <span style="color: #000000">{
</span><span style="color: #008080"> 8</span>
<span style="color: #008080"> 9</span> <span style="color: #0000ff">char</span> m[<span style="color: #800080">20</span><span style="color: #000000">];
</span><span style="color: #008080">10</span>
<span style="color: #008080">11</span> cin.getline(m,<span style="color: #800080">5</span><span style="color: #000000">);
</span><span style="color: #008080">12</span>
<span style="color: #008080">13</span> cout<<m<<<span style="color: #000000">endl;
</span><span style="color: #008080">14</span>
<span style="color: #008080">15</span> }</span></pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div>
<p> </p>
<p style="margin-left: 30px"> </p>
<p style="margin-left: 30px">输入:jkljkljkl</p>
<p style="margin-left: 30px">输出:jklj</p>
<p><strong> 注意:</strong>接收5个字符到m中,其中最后一个自动添加为'\0',所以只看到4个字符输出;</p>
<p> </p>
<p style="margin-left: 30px">如果把5改成20:</p>
<p style="margin-left: 30px">输入:jkljkljkl</p>
<p style="margin-left: 30px">输出:jkljkljkl</p>
<p> 输入:jklf fjlsjf fjsdklf</p>
<p style="margin-left: 30px">输出:jklf fjlsjf fjsdklf</p>
<p> </p>
<p style="margin-left: 30px"><strong>延伸:</strong></p>
<p style="margin-left: 30px">1、cin.getline()实际上有三个参数,cin.getline(接收字符串的变量,接收字符个数,结束字符)。</p>
<p style="margin-left: 30px">2、当第三个参数省略时,系统默认为'\0'。</p>
<p style="margin-left: 30px">3、如果将例子中cin.getline()改为cin.getline(m,5,'a');当输入jlkjkljkl时输出jklj,输入jkaljkljkl时,输出jk。</p>
<p align="left"><strong>4. getline()</strong></p>
<p style="margin-left: 30px" align="left">接收一个字符串,可以接收空格并输出,需包含“#include<string>”,遇到回车键结束。</p>
<p style="margin-left: 30px" align="left">#include<iostream></p>
<p style="margin-left: 30px" align="left">#include<string></p>
<p style="margin-left: 30px" align="left">using namespace std;</p>
<p style="margin-left: 30px" align="left">main ()</p>
<p style="margin-left: 30px" align="left">{</p>
<p style="margin-left: 30px" align="left">string str;<br>
getline(cin,str);<br>
cout<<str<<endl;<br>
}</p>
<p style="margin-left: 30px" align="left">输入:jkljkljkl<br>
输出:jkljkljkl</p>
<p style="margin-left: 30px" align="left">输入:jkl
jfksldfj jklsjfl<br>
输出:jkl jfksldfj jklsjfl</p>
<p><strong>5.
gets_s</strong><strong>和</strong><strong>puts</strong><strong>函数</strong> </p>
<p style="margin-left: 30px">在新的C++标准中,原来的gets函数现在已经改成了gets_s。</p>
<p>(1)gets_s函数:输入一个字符串到字符数组中,可以输入空格和Tab,但是不能输入回车键。输入完成后,在结尾自动添加空字符。</p>
<p style="margin-left: 30px">char
str[80];</p>
<p style="margin-left: 30px">gets_s(str);</p>
<p>(2)puts_s函数输出一个字符串,但是不包含空字符,但在新的C++标准中,也能输出空字符。</p>
<p style="margin-left: 30px"> char str[80]=”programme”;</p>
<p style="margin-left: 30px"> puts_s(str);</p>
<p> </p>
<p> </p>
<p><strong>二、</strong><strong>C++</strong><strong>字符串中空格,空字符的区别</strong></p>
<p>(1)空格的ASCII码为32,赋值语句为:</p>
<p style="margin-left: 30px"> char a=’ ‘; 或者char
a=32;</p>
<p>(2)\0表示结束符,一般在字符串的最后是结束字符,ASCII码为0。一般字符串输出函数遇到空字符就停止输出。</p>
<p> </p>
<p><strong>三.
</strong><strong>字符变量赋值和字符串初始化</strong></p>
<p> (1)字符变量赋值用单引号
‘’或者直接用ASCII码;</p>
<p> (2)字符串赋值用双引号</p>
<p> char a[10]=”abcd”;</p>
<p> 或者char
a[4]={‘a’,’b’,’c’,’d’};</p>
<p>理解记忆:字符变量或者字符串中的元素如a[3],里面存储的是ASCII值,而不是字符,因为计算机存储的其实都是数字。单引号‘’表示取引号内的ASCII值。双引号表示文本。 </p>
<p> </p>
<p><strong> 注:本文有部分内容来自于网上网友的博客,在此向他们表示感谢。</strong></p>
<p> </p>
<p> </p>
<p align="center"><strong> </strong></p>
<p align="center"> </p></div>
相关文章推荐
- C++字符串数组赋值与单个字符赋值区别
- C++怎么让函数返回固定长度字符串,比如给“zhangsan"返回原字符串加上4各空格,给“lisi"返回"lisi"加6
- 一道二级C题引发的思考-- c++函数传递指针的本质 与 字符串指针与字符数组的区别
- C/C++中,为什么字符串可以赋值给字符指针变量,单引号和双引号的区别
- C/C++中,为什么字符串可以赋值给字符指针变量,单引号和双引号的区别
- 关于动态存储分配函数的调用,在已经过排序的数组中查找及删除内容的操作,余数的分析,删除字符数组中的空格,对链表的逆置,在源字符串中查找子字符串的个数,函数指针以及函数的调用,循环赋值带来的问题以及插入
- PHP学习笔记--字符串操作 作者:yezi33 字符串的整理: trim():除去字符串开头和末尾的空格或其他字符。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空
- C++【String类】String删除单个字符,删除字符串的函数实现
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
- 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数
- 函数、数组区别以及函数注意点和回调函数,以及删除字符串中出现次数最少的字符的程序
- C++【String类】String查找单个字符,查找字符串的函数实现
- C/C++输入输出,函数区别
- Ex7_4编写函数,统计此字符串中字母、数字、空格和其他字符­的个数
- C++【String类】String查找单个字符,查找字符串的函数实现
- 编写一个函数,从实参传来一个字符串,统计其中字母,数字,空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果
- (c++)编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
- c++ 去除字符串中的空格和标点符号 (remove_if 函数的用法)
- [C/C++]_[初级]_[标准库之几种算法库函数的运用,如字符串查找(字符个数查找)、分隔、删除、替换、排序、字符交换位置、大小写转换等等]
- 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。