字符数组函数,连接strcat 复制函数strcpy 比较函数strcmp 长度函数 strlen
之前我们学习数据类型的时候,有一个类型 char ,这个类型允许我们在里边放一个字符
char variable1='o';
char variable2='k';
- #include <iostream>
- using namespace std;
- int main(){
- //C++当中字符数组赋值,''单引号中不能为空
- char talk[]={'I',' ','a','m',' ','h','a','p','p','y'};
- for(int i=;i<;i++){
- cout<<talk[i];
- }
- cout<<endl;
- }
使用字符二维数组制作输出一个钻石图形。
- #include <iostream>
- using namespace std;
- int main(){
- //C++当中字符数组赋值,''单引号中不能为空
- char talk[][]={{' ',' ','*'},
- {' ','*',' ',' ','*'},
- {'*',' ',' ',' ','*'},
- {' ','*',' ','*'},
- {' ',' ','*'}};
- for(int i=;i<;i++){
- for(int j=;j<;j++)
- cout<<talk[i][j];
- cout<<endl;
- }
- cout<<endl;
- }
- 这个字符数组的长度是多少?
char talk[10]={'I',' ','a','m',' ','h','a','p','p','y'};
字符串 I am happy
string talk="I am happy";
两者意义上市一致的,但是长度上是不一致的。c++在字符y的后边自动添加了一个'\0',这个一个符号,表示字符串的结束。
string 和我们之前学的int float double boolean char 基本数据类型不同,可以直接在c++程序中使用。
string 是不能在c++中直接使用。
- #include <iostream>
- #include <string>
- using namespace std;
- int main(){
- int a=;
- cout<<a;
- //s的长度是多少呢? 是11 c++在字符串使用的时候自动添加了一个'\0'
- //,当c++系统输出字符串的时候检测到 '\0',结束
- string s="I am happy";
- //arr的长度是多少呢? 是11
- char arr[]="I am happy";
- //arr2的长度是多少呢?是10
- char arr2[]={'I',' ','a','m',' ','h','a','p','p','y','\0'};
- //arr与arr2 是等价的
- cout<<endl<<arr;
- cout<<endl<<arr2;
- cout<<endl;
- cout<<s;
- return ;
- }
char str[5];
cin>>str;
如果输入字符串为Beijing字符串长度超出,也不会报错,(与其他数据类型不同)但是会破坏其他空间中的数据,有可能引发问题。
使用字符串处理函数,进行字符串的操作
第一个,字符串连接
使用strcat(char[],const char[])
举例:
- #include <iostream>
- #include <string.h>
- using namespace std;
- int main(){
- //C++当中字符数组赋值,''单引号中不能为空
- char str1[]="People's Republic of ";
- char str2[]="China";
- cout<<strcat(str1,str2);
- }
第二个,字符串复制
- #include <iostream>
- #include <string.h>
- using namespace std;
- int main(){
- //C++当中字符数组赋值,''单引号中不能为空
- char str1[];
- char str2[]="China";
- strcpy(str1,str2);
- cout<<str1<<" ~ "<<str2;
- }
第三个,字符串比较
- #include <iostream>
- #include <string.h>
- using namespace std;
- int main(){
- //按照字母表的顺序,在后边就大 ASCII
- char str1[]="Zoa";
- char str2[]="Zoble";
- int x=strcmp(str1,str2);
- cout<<x;
- }
如果相等为0,如果大于为1,如果小于为-1;
第四个,字符串长度函数
- #include <iostream>
- #include <string.h>
- using namespace std;
- int main(){
- //字符串"Zoa",实际上等价于{'Z','o','a','\0'}
- //字符串长度函数 求的值是实际长度,不是真实长度
- char str1[]="Zoa";
- char str2[]="Zoble";
- int x=strlen(str1);
- int y=strlen(str2);
- cout<<x<<"~~~"<<y;
- }
字符数组函数,连接strcat 复制函数strcpy 比较函数strcmp 长度函数 strlen的更多相关文章
- C语言字符数组超细讲解
看到标题,有不少朋友会想:字符数组不也是数组吗?为什么要单独拿出来讲哩?莫非它是朵奇葩? 哈哈,确实,一起来认识一下这朵数组界的奇葩吧! 一.字符数组的定义.引用.初始化 大家好!我是字符数组,看我的 ...
- String类,StringBuffer类转字符数组
String不可变类型和StringBuffer可变类型 String类和StringBuffer类都是字符串表示类,区别在于String对象引用变量是不可变的,而StringBuffer类对象引用变 ...
- c字符和字符数组/字符串
一维和二维的都可以:一维的情况如下:1,char string0[10];2,char string1[]="prison break";3,char string2[100]=& ...
- 转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文
转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 C++常用库函数atoi,itoa,strcpy,strcmp的实现 作者:jcsu C语言字符串操作函数 1. ...
- C:函数:功能:实现字符数组中所有字母的倒序存放并输出
前两天小测碰到一道题,建立一个函数,功能:实现字符数组中所有字母的倒序存放并输出,一开始觉得简单跟数字数组差不多,运行一下发现很多格式错误,这些是不必要的错误,现在就来说下,先说一下代码思路:定义一个 ...
- 已知一个字符串S 以及长度为n的字符数组a,编写一个函数,统计a中每个字符在字符串中的出现次数
import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/6 21:04 * @description ...
- 二维字符数组利用gets()函数输入
举例: ][]; ;i<;i++) gets(a[i]); a是二维字符数组的数组名,相当于一维数组的指针, 所以a[i]就相当于指向第i个数组的指针,类型就相当于char *,相当于字符串.
- 字符串函数(strcpy字符串拷,strcmp字符串比较,strstr字符串查找,strDelChar字符串删除字符,strrev字符串反序,memmove拷贝内存块,strlen字符串长度)
1.strcpy字符串拷贝拷贝pStrSource到pStrDest,并返回pStrDest地址(源和目标位置重叠情况除外) char *strcpy(char *pStrDest, const ch ...
- C语言中的字符串拷贝函数strcpy和内存拷贝函数memcpy的区别与实现
strcpy和memcpy都是标准C库函数,它们有下面的特点. strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符'\0'. 已知st ...
随机推荐
- 洛谷 - P1111 - 修复公路 - 并查集
https://www.luogu.org/problemnew/solution/P1111 并查集的水题,水题都错了好多发. 首先并不是有环就退出,而是连通分支为1才退出,每次合并成功连通分支才会 ...
- 洛谷 - P1739 - 表达式括号匹配 - 模拟 - 栈
https://www.luogu.org/problemnew/show/P1739 虽然应该是用栈的……但是直接模拟就可以了. #include<bits/stdc++.h> usin ...
- poj 3648 Wedding【2-SAT+tarjan+拓扑】
看错题*n,注意是输出新娘这边的-- 按2-SAT规则连互斥的边,然后注意连一条(1,1+n)表示新娘必选 然后输出color[belong[i]]==color[belong[1+n(新娘)]]的点 ...
- poj 1182 食物链【带权并查集】
设相等的边权为0,吃的边权为,被吃的边权为2,然后用带权并查集在%3的意义下做加法即可 关系为简单环的基本都可以用模环长的方式是用带权并查集 #include<iostream> #inc ...
- bzoj 2761: [JLOI2011]不重复数字【hash】
map会T,双hash会冲突--于是非酋写了个三hash #include<iostream> #include<cstdio> #include<cstring> ...
- 洛谷P2569 [SCOI2010]股票交易(单调队列)
传送门 惭愧……这种题目都没看出来…… 首先,我们用$dp[i][j]$表示在第$i$天,手上有$j$股时的最大收益 第一,我们可以直接买股票,即$dp[i][j]=-j*AP_i$,这个直接计算即可 ...
- centos走一波
Cpu 作为一个具有特定功能的芯片,里面含有微指令集 如果你想让主机进行什么特异的运算,就需要参考Cpu是否有相关内置的微指令集 才可以由于Cpu的工作主要在于 管理和运算 ,因此Cpu内又可以分为两 ...
- PHP函数技巧篇
可变参数 Php提供3个函数用于检索在函数中所传递的参数. $array = func_get_args(); //返回一个提供给函数的所有参数的数组 $count = func_num_args() ...
- Plugging an Unplugged Pluggable Database
1.unplug To unplug a PDB, you first close it and then generate an XML manifest file. The XML file co ...
- 摄像头调用,h5调用摄像头进行扫一扫插件备份
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...