C++——字符串处理
11、用字符数组存储和处理字符串
字符数组的声明和引用 字符串:
字符串常量 “china”,没有字符串变量,用字符数组来存放字符串,字符串以‘\0’结束。
字符串数组的初始化:
|
逐个输出输入字符串; 将整个字符串一次输入输出; 输出字符不包含\0; 输出字符串时用数组名,遇到\0结束; 输入多个字符串以空格分隔,输入单个字符串时期中不能有空格 |
static char str[8]={112,114,111,103,114,97,109,0};
static char str[8]={'p','r','o','g','r','a','m','\0'};
static char str[8]="program";
static char str[]="program";
#include<iostream>
using namespace std;
int main()
{
static char c[10]=
{'I',' ','a','m',' ','a',' ','b','o','y'}; //一维字符数组的声明和初始化
int i;
for(i=0;i<10;i++) //逐个输出字符数组的元素
cout<<c[i];
cout<<endl;
}//I’m a boy
//输出一个钻石图形
#include<iostream>
using namespace std;
int main()
{ //二维字符数组的声明和初始化,未被初始化的元素初始值为0:
static char diamond[][5]={{' ',' ','*'},{' ','*',' ','*'}, {'*',' ',' ',' ','*'},{' ','*',' ','*'}, {' ',' ','*'}};
int i,j;
for (i=0;i<5;i++) //逐个输出二维字符数组的元素
{
for(j=0;j<5 && diamond[i][j]!=0;j++)
cout<<diamond[i][j];
cout<<endl;
}
}
cin读取单词的时候遇到空格跳过;不能给数组名赋值,数组名时常量;
cin.getline(字符数组名st,字符个数N,结束符);
cin.get (字符数组名st,字符个数N,结束符);
一次连续读入多个字符,可以包括空格,直到读满N个,或者遇到结束符(默认为\n),读入的字符串存放在st中。
#include <iostream>
using namespace std;
void main (void)
{ char city[80];
char state[80];
int i;
for (i = 0; i < 2; i++)
{ cin.getline(city,80,',');
cin.getline(state,80,'\n');
cout<<"City: "<<city<<" State: "
<<state<<endl;
}
}
Beijing,China
City: Beijing Country: China
Shanghai,China
City: Shanghai Country: China
字符串处理函数:strcat(连接),strcpy(复制),strcmp(比较),strlen(求长度), strlwr(转换为小写),strupr(转换为大写),头文件<cstring>
在C++中用字符数组处理字符串有很多不方便,我们可以使用string类,
#include <string>
#include <iostream>
using namespace std ;
void trueFalse(int x)//辅助函数
{cout << (x? "True": "False") << endl;}
int main()
{ string S1="DEF", S2="123";
char CP1[]="ABC";
char CP2[]="DEF";
cout << "S1 is " << S1 << endl;
cout << "S2 is " << S2 << endl;
cout<<"length of S2:"<<S2.length()<<endl;
cout << "CP1 is " << CP1 << endl;
cout << "CP2 is " << CP2 << endl;
cout << "S1<=CP1 returned ";
trueFalse(S1<=CP1);
cout << "CP2<=S1 returned ";
trueFalse(CP2<=S1);
S2+=S1;
cout<<"S2=S2+S1:"<<S2<<endl;
cout<<"length of S2:"<<S2.length()<<endl;
}
C++——字符串处理的更多相关文章
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率
之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...
- java中的字符串相关知识整理
字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...
- JavaScript 字符串实用常操纪要
JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...
- Java 字符串格式化详解
Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...
- Redis的简单动态字符串实现
Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,以下简称 C 字符串), 而是自己构建了一种名为简单动态字符串(simple dynamic string,sds)的抽象类 ...
- ASP.NET加密和解密数据库连接字符串
大家知道,在应用程序中进行数据库操作需要连接字符串,而如果没有连接字符串,我们就无法在应用程序中完成检索数据,创建数据等一系列的数据库操作.当有人想要获取你程序中的数据库信息,他首先看到的可能会是We ...
- Javascript正则对象方法与字符串正则方法总结
正则对象 var reg = new Regexp('abc','gi') var reg = /abc/ig 正则方法 test方法(测试某个字符串是否匹配) var str = 'abc123'; ...
- 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)
转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ...
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...
随机推荐
- 深入理解 Android 中的各种 Context
前言 网上关于 Context 的文章也已经有不少了,比如值得参考的有: Android Context完全解析,你所不知道的Context的各种细节 Android Context 到底是什么? 但 ...
- ssh远程连接到Ubuntu
1.ubuntu首先得安装ssh sudo apt-get install openssh-server 2.启动ssh sudo /etc/init.d/ssh start 3.检查是否开启 ps ...
- NFS服务配置 Linux
两台机器: NFS服务器:192.168.1.100 (我的是Ubuntu系统) 客户机:192.168.1.123 (保证两台机器互相可以ping通) 需求:在NFS服务器上创建一个共享文件夹/ho ...
- [CF1311A] Add Odd or Subtract Even
Solution a<b, delta=odd, ans=1 a<b, delta=even, ans=2 a=b ans=0 a>b, delta=odd, ans=2 a> ...
- 开启WIndows10 未经身份验证的来宾访问策略以及SMB1
打开记事本编辑保存至.vbs 以管理员身份运行 Set obj = createobject("wscript.shell") obj.run ("reg add HKL ...
- python数据类型(第一弹)
作为一门计算机编程语言,python与其它语言一样,设有若干种数据类型,准确掌握各种数据类型的常用方法是精通python的必要条件,也是熟练使用各数据类型.最大限度发挥它们功能的基本条件. pytho ...
- ls, chgrp, chown, chmod
ls命令 [root@client ~]# ls -la 总用量 dr-xr-x---. root root 2月 : . dr-xr-xr-x. root root 2月 : .. -rwxrwxr ...
- numpy reshape -1
来源:https://www.zhihu.com/question/52684594 z = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ...
- 论文阅读笔记(十九)【ITIP2017】:Super-Resolution Person Re-Identification With Semi-Coupled Low-Rank Discriminant Dictionary Learning
Introduction (1)问题描述: super resolution(SP)问题:Gallery是 high resolution(HR),Probe是 low resolution(LR). ...
- Wannafly Winter Camp 2020 Day 5C Self-Adjusting Segment Tree - 区间dp,线段树
给定 \(m\) 个询问,每个询问是一个区间 \([l,r]\),你需要通过自由地设定每个节点的 \(mid\),设计一种"自适应线段树",使得在这个线段树上跑这 \(m\) 个区 ...