关于字符串(1)
来源:互联网 发布:excle怎么做数据分析 编辑:程序博客网 时间:2024/05/21 09:55
1.字符数组str[ ]
字符数组与普通数组一样,都是数组,只不过储存的是字符,而且C和C++都为它提供了很多函数。
1.初始化
(1) 字符数组可以逐个赋值,类似于 char c[10]; c[0]='I' c[1]='M' 一直像后面赋值,就是将10 个元素分别赋值给c[0]~c[9],也可以用c[10]={' S '.....'E' };的方法赋值。
(2) 用字符串常量来初始化 char str[ ]={"I am happy"}; 也可以也成char str[ ]="I am happy";
注:如果是刚接触C++的请注意单引号与双引号的区别。
2.字符数组的赋值和引用
比如a和b都是相同长度和类型的字符数组,我们用 “ a=b ”将b赋值给a是错误的。但是 a[0]=b[0]是正确的。
3.字符串及其结束标志
在我们之前了解到了字符数组中,比如用一个一维数组 char str[12]={' I ',' ',' a ',' m ',' ',' h ',' a ',' p ',' p ',' y ' };我们可以看到,空格和字母算起来一共是10个字符。但是我们创建的是一个长度为12的字符数组,那么最后两个位置系统会怎么办呢? 那就是用‘\0’自动填补空字符。
我们的小标题是字符串的结束标志,那么可以猜到‘\0’就是我们的字符串结束标志了。也就是遇到‘\0’就代表字符串到此结束,由它前面的字符组成有效字符串。我们往往可以不需要知道字符串的长度而依靠‘\0’来判断字符串是否结束了。
注:‘\0’代表ASCII码为0的字符,是一个不能够显示的字符。
4.字符串的输入和输出
(1)对于字符数组,我们可以用for循环逐个输入和输出。
(2)整个字符串输入输出:
char str[20] ;
cin>>str;
cout<<str;
注:在执行cout时,str代表第一个元素也就是str[0]的地址,执行“cout<<str” 代表是从str所指向的第一个元素开始输出,直到遇见'\0'为止。输入时不包括'\0'(系统会自动在你输入完毕按enter时在后面的单元里面加)。
5.字符串处理函数对字符串进行操作
头文件为string 和string.h.
(1).字符串连接函数 strcat(char[ ],const char[ ])
char str1[30]="People's Pepublic of ";
char str2[ ]="China";
cout<<strcat(str1,str2);
输出:
People's Republic of China
(2).字符串复制函数strcpy(char[ ],const char[ ])
strcpy将第二个字符数组中的字符复制到第一个字符数组中,并将第一个覆盖。
char str1[10],str2[ ]="China";
strcpy(str1,str2);
注:在函数中第一个参数是数组名,第二个可以是字符串常量,如:
strcpy(str1,"hello");
也可以用strcpy(str1,str2,num); num 代表数字,是将str2的前num个字符复制到str1中去,再在后面加一个‘\0’.
之前有提到不能用str1=str2直接赋值,现在就能用这个函数赋值了。
(3).字符串比较函数strcmp(const char[ ],const char[ ])
下面的写法都是合法的:
strcmp(str1,str2);
strcmp("China","Korea");
strcmp(str1,"Beijing");
因为只参加比较而不改变内容,所以都加const声明。
比较规则为两个字符串从左到右依次比较(按ASCII码比较大小),直到遇见不同的字符,就以这个字符比较的结果为准,如果没有不同的字符,则返回0.如果str1大于str2,则返回正整数,如果小于返回负整数。(与赋值类似,不可以用str1>str2这种表达方法,因为这代表两个地址而你想比较的是内容。)
(4).字符串长度函数strlen(const char [ ]);
这个函数测试字符串的实际长度,不包括'\0'在内。
char str[10]="happy";
cout<<strlen(str);
输出的结果为5(实际长度)。
以上是对字符的输入输出以及一些简单的处理函数的总结与概括。后面还有继续介绍。
1 0
- 关于字符串(1)
- 1关于字符串输出
- 关于字符串(2)
- 关于字符串
- 关于字符串
- 关于字符串
- 关于字符串
- 关于字符串
- 关于字符串
- 关于字符串
- 关于字符串
- 关于字符串
- 关于字符串
- 关于字符串
- 关于字符串
- 关于字符串数组,字符串指针(C语言)
- 关于字符串匹配的算法(一)
- Java——关于String(字符串)
- Altium Designer 对覆铜的切割和挖孔
- iOS开发学习之C语言---C08 高级指针-12
- apache2 开发C++模块 —— 基于cximage实现图片、缩略图下载功能
- pdg转pdf的正确方法!!
- iOS开发学习之C语言---C09 动态内存分配
- 关于字符串(1)
- 敏捷实况1:项目概况
- java中的匿名内部类总结
- iOS开发学习之C语言---C10 函数指针-1
- Android 怎样把底部栏顶上去
- 【转】java基础:堆&栈
- iOS开发学习之C语言---C10 函数指针-2
- leetcode Problem1 two sum
- 最长公共上升子序列——hdu1423 Greatest Common Increasing Subsequence