C/C++学习笔记29:字符串处理函数
来源:互联网 发布:数控电脑编程软件 编辑:程序博客网 时间:2024/05/02 00:52
常见的字符串处理函数有:
size_t strlen(cs); //求出cs的长度
gets(str);puts(str);
char *strcpy(s,ct);//把ct复制到s中去char *strncpy(s,ct,n);//把ct中的n个字符复制到s中去
char *strcat(s,ct);//把ct复制到s字符串之后char *strncat(s,n,ct);//复制ct中的n个字符到s中去
int strcmp(cs,ct);//比较cs与ct的大小,分别返回正值、0、负值int strncmp(cs,n,ct);//比较cs和ct的大小,最多比较n个字符
char *strchr(cs,c);//在cs中查找第一个c出现的位置,并用指向这个位置的指针表示,如果没有则返回null;char *strrchr(cs,c);//在cs中查找最后一个c出现的位置
size_t strspn(cs,ct);//在cs中查找全部由ct里字符组成的序列,并返回其长度size_t strcspn(cs,ct);//在cs中查找全部由非ct里字符组成的序列,并返回其长度
char *strpbrk(cs,ct);//在cs里查找ct里的字符,返回第一个满足条件的字符出现的位置,没有时返回NULLchar *strstr(cs,ct);//在cs中查寻串ct(查询子串),返回ct作为cs的子串的第一个出现的位置,ct未出现在cs里时返回NULL
<pre name="code" class="cpp">char *strerror(n);//返回与错误编号n相关的错误信息串(指向该错误信息串的指针)char *strtok(s,ct); //在s中查寻由ct中的字符作为分隔符而形成的单词
strstr(string,search);//搜索一个字符串在另一个字符串中第一次出现
关于字符数组的问题
在C语言中字符串是作为字符数组来处理的。
e.g.1:已知strcpy函数的原型是:char *strcpy(char *strDest,const char *strSrc);
(1)不调用C++/C的库函数,请编写strcpy。
实现:
char *strcpy(char *strDest,const char *strSrc);{ assert((strDest != NULL)&&(strSrc!=NULL)); char *address=strDest; while((*strDest++=*strSrc++)!='\0') NULL; return address;}关于上述的assert函数,assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行。涉及到的一些标准库常用函数,在之后会详细总结。
(2)strcpy能把strSrc的内容复制到strDest,为什么还要char *类型的返回值?
为了实现一些链式表达式,比如说我用strcpy实现了复制,但是我还想得到复制过后的字符串长度是多少,可以进行如下操作:
int length = strlen(strcpy(strDest,"hello world"));
e.g.2:下面的程序会出现何种问题?
#include <iostream>#include <stdio.h>int main(void){ char s[]="123456789"; char d[]="123"; strcpy(d,s); printf("%s,\n%s",d,s); return 0;}以上的输出结果是123456789,56789;
原因在于当初分配的内存地址是连续内存的问题。
0 0
- C/C++学习笔记29:字符串处理函数
- C语言学习笔记之常用的字符串处理函数
- C语言学习笔记 lesson18 字符串处理函数
- c++(字符串处理函数)
- C字符串处理函数
- C字符串处理函数
- c++(字符串处理函数)
- C字符串处理函数
- C字符串处理函数
- C字符串处理函数
- C- 字符串处理函数
- c 字符串处理函数
- C字符串处理函数
- C字符串处理函数
- C字符串处理函数
- c字符串处理函数
- C字符串处理函数
- C字符串处理函数
- junit
- 畅通工程再续
- ScrollView里嵌套ListView的冲突问题
- 过滤器:全自动软化水过滤器技术应用解析
- 为啥app没有menu键?
- C/C++学习笔记29:字符串处理函数
- 禁止弹出输入法
- python 高效编程
- 组合数学部分知识点
- Oracle性能诊断的方法
- linux lsof详解
- poj 2524 Ubiquitous Religions
- c++ 快速排序实现
- zoj 1103