博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++字符数组和字符指针区别以及str***函数
阅读量:4056 次
发布时间:2019-05-25

本文共 1174 字,大约阅读时间需要 3 分钟。

C风格字符串都是以’\0’结尾的。所以如果拷贝一个字符串,请确保计算的长度已经考虑了这个结尾符号。

另外C风格的字符串是在内存上动态申请数组存储的,所有的保护措施需要申请者自己维护,new过之后一定要delete。

字符指针

//先在文字常量区为"abcde"常量分配6B,接着在栈里为指针pStr分配4B,并接收"abcd"字串的首地址

char* pStr = “abcde”;pStr[0]='h';    //errorint n1= sizeof(pStr ); // n1 值: 4int n2 = strlen(pStr ); // n2 值:5

字符数组

//在栈区分配连续的6B,内容为’a’,‘b’,‘c’,‘d’,‘e’,’\0’并把首地址标记为arr

char arr[] = " abcde ";arr[0]='h';     //合法int n3= sizeof(arr);  //n3值:6int n4= strlen(arr);   //n4值:5

总结

字符指针是指向常量区字符串的指针,其值不能改变,但可以改变所指对象,是一个常量指针。字符数组是将字符放在数组内,可以改变其内容。

strcpy 函数

原型:char * strcpy ( char * destination, const char * source )

功能:将字符串source拷贝到字符串destination中
原型:char * strncpy ( char * destination, const char * source, size_t num );
功能:将字符串source中前num个字符拷贝到字符串destination中

strcat 函数

原型:char * strcat ( char * destination, const char * source );

功能:将字符串source接到字符串destination的后面
原型:char * strncat ( char * destination, const char * source, size_t num );
功能:将字符串source的前num个字符接到字符串destination的后面

strlen 函数

原型:size_t strlen ( const char * str );

功能:统计字符串 str 中字符的个数

strchr(p, c) // 在字符串中查找指定字符

strstr(p, p1) // 查找字符串
strpbrk(p, p1) // 以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素
strspn(p, p1) // 以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移

转载地址:http://eueci.baihongyu.com/

你可能感兴趣的文章
【积跬步以至千里】win10应用商店误删恢复
查看>>
【吴恩达机器学习笔记】001 什么是机器学习(What is Machine Learning)
查看>>
【吴恩达机器学习笔记】002 监督学习(Supervised Learning)
查看>>
【吴恩达机器学习笔记】003 无监督学习(Unsupervised Learning)
查看>>
【吴恩达机器学习笔记】004 模型示例:单变量线性回归(Model Representation:Linear Regression with one variable)
查看>>
【吴恩达机器学习笔记】005 梯度下降(Gradient Descent)
查看>>
【opencv学习笔记】026之直方图比较 - compareHist函数详解
查看>>
【opencv学习笔记】027之直方图反向投影 - calcBackProject函数详解
查看>>
【opencv学习笔记】001之opencv配置(win10+VS2015+OpenCV3.1.0)
查看>>
Python学习四之变量类型
查看>>
Python import相关内容区别介绍( import *** as 、from***import )
查看>>
Python报错:UnicodeDecodeError: 'gbk' codec can't decode byte ...
查看>>
C++报错:The build tools for v141 (Platform Toolset = 'v141') cannot be found.
查看>>
Python错误:PyCharm 安装出错 Internal error,please。。。
查看>>
软件架构简介
查看>>
SQL2012报错:cannot find one or more cpmponents
查看>>
关于runat = “server”
查看>>
【opencv实战】图像素描及卡通化
查看>>
【opencv实战】哈哈镜
查看>>
【opencv学习笔记】004之Mat对象及其应用详解
查看>>