C 常见字符串操作函数
头文件 <string.h>
1. char *strstr(const char *str1, const char *str2); 判断str2是否为str1的子串
- //str1中包含str2子串情况
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char *str1 = "hello world!";
char *str2 = "world";
char *p = strstr(str1,str2);
printf("str1 = %p :%s\n",str1,str1);
printf("str2 = %p :%s\n",str2,str2);
printf("p = %p :%s\n",p,p);
return 0;
}
输出结果
- //str1中不包含str2子串情况
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char *str1 = "hello world!";
char *str2 = "world";
char *p = strstr(str2,str1);
printf("str1 = %p :%s\n",str1,str1);
printf("str2 = %p :%s\n",str2,str2);
printf("p = %p :%s\n",p,p);
return 0;
}
输出结果:
2. char *strcat(char *dest, const char *src);
将字符串src头拼接在dest的'\0'位置,在重新拼接的字符串后重新添加 '\0' ;注意事项dest空间足够大
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char dest[20] = "hello";
char *src = "world";
char *p = strcat(dest,src);
printf("dest = %p :%s\n",dest,dest);
printf("src = %p :%s\n",src,src);
printf("p = %p :%s\n",p,p);
return 0;
}
运行结果:dest 要足够大不然包段错误
3. char *strncat(char *dest, const char *src, size_t n);
把src所指字符串的前n个字符添加到dest所指字符串的结尾处,并覆盖dest所指字符串结尾的'\0',从而实现字符串的连接
- #include <stdio.h>
- #include <string.h>
- int main(int argc, const char *argv[])
- {
- char dest[10] = "hello ";
- char *src = "world";
- char *p = strncat(dest,src,3);
- printf("dest = %s\n",dest);
- printf("src = %s\n",src);
- printf("p = %s\n",p);
- return 0;
- }
输出结果:
4. char *strcpy(char *dest, const char *src);
把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
- #include <stdio.h>
- #include <string.h>
- int main(int argc, const char *argv[])
- {
- char dest[20] = "hello world!";
- char *src = "world";
- char *p = strcpy(dest,src);
- printf("dest = %p :%s\n",dest,dest);
- printf("src = %p :%s\n",src,src);
- printf("p = %p :%s\n",p,p);
- int len = sizeof(dest);
- int i=0;
- printf("dest[] = ");
- for(i=0;i<len;i++)
- {
- printf("%c",dest[i]);
- }
- putchar(10);
- printf("十进制打印\n");
- for(i=0;i<len;i++)
- {
- printf("%d\n",dest[i]);
- }
- putchar(10);
- return 0;
- }
输出结果:
5. char *strncpy(char *dest, const char *src, size_t n);
把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中,并返回被复制后的dest。
- #include <stdio.h>
- #include <string.h>
- int main(int argc, const char *argv[])
- {
- char dest[20] = "hello";
- char *src = "world";
- char *p = strncpy(dest,src,1);
- printf("dest = %p :%s\n",dest,dest);
- printf("src = %p :%s\n",src,src);
- printf("p = %p :%s\n",p,p);
- return 0;
- }
输出结果:
6. int strcmp(const char *str1, const char *str2);
7. int strncmp(const char *str1, const char *str2, size_t n);
str1, str2 为需要比较的两个字符串,n为要比较的字符的数目。
- #include <stdio.h>
- #include <string.h>
- int main(int argc, const char *argv[])
- {
- char dest[20] = "hello world!";
- char *src = "hellod";
- int num = strncmp(src,dest,4);
- printf("num = %d\n",num);
- return 0;
- }
8. 字符串分割函数
char *strtok(char *str, const char *delim);
char *strtok_r(char *str, const char *delim, char **saveptr);
C 常见字符串操作函数的更多相关文章
- JavaScript中常见的字符串操作函数及用法
JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...
- LoadRunner中常用的字符串操作函数
LoadRunner中常用的字符串操作函数有: strcpy(destination_string, source_string); strc ...
- 转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文
转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 C++常用库函数atoi,itoa,strcpy,strcmp的实现 作者:jcsu C语言字符串操作函数 1. ...
- C语言的常用字符串操作函数(一)
一直做的是单片机相关的程序设计,所以程序设计上更偏向底层,对于字符串的操作也仅限于液晶屏幕上的显示等工作,想提高下字符串操作的水平,而不是笨拙的数组替换等方式,翻看帖子发现C语言的字符串操作函数竟然这 ...
- linux makefile字符串操作函数 替换subst、模式替换patsubst、去首尾空格strip、查找字符串findstring、过滤filter、反过滤filter-out、排序函数sort、取单词word、取单词串wordlist、个数统计words
1.1 字符操作函数使用 在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能.make所支持的函数也不算很多,不过已经足够我们的操作了.函数调用后,函 ...
- mysql常用字符串操作函数大全,以及实例
今天在论坛中看到一个关于mysql的问题,问题如下 good_id cat_id12654 665,56912655 601,4722 goods_id是商品i ...
- Postgresql 字符串操作函数
样例测试: update property set memorial_no = btrim(memorial_no, ' ') where memorial_no like ' %' 或:update ...
- Sql字符串操作函数
1.去空格函数 (1).LTRIM() 把字符串头部的空格去掉. (2).RTRIM() 把字符串尾部的空格去掉. 2.字符转换函数(1).ASCII()返回字符表达式最左端字符的ASCII 码值.在 ...
- C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文
原文:http://www.cnblogs.com/JCSU/articles/1305401.html C语言字符串操作函数 1. 字符串反转 - strRev2. 字符串复制 - strcpy3. ...
随机推荐
- 3.1 开始使用 redux
前面我们介绍了 flux 架构以及其开源实现 redux,在这一节中,我们将完整的介绍 redux: redux 介绍 redux 是什么 redux 概念 redux 三原则 redux Store ...
- 前端(二)—— CSS的引入方式、长度与颜色单位、常用样式、选择器
CSS的引入方式.长度与颜色单位.常用样式.选择器 一.CSS的三种引入方式 1.行间式 <!doctype html> <html> <head> <met ...
- MySQL数据库(二)——库相关操作、表相关操作(一)、存储引擎、数据类型
库相关操作.表相关操作(一).存储引擎.数据类型 一.库相关操作 1.创建数据库 (1)语法 create database 数据库 charset utf8; (2)数据库命名规范 可以由字母.数字 ...
- jquery插件小集合
一.滑动轮播插件Swiper Swiper官网http://www.swiper.com.cn/, 这款插件移动端,pc端均试用 二.jquery-tmpl----让你从拼接字符串中解放出来 官方下载 ...
- 使用tensorboard报错 ImportError: No module named past.builtins
安装 future pip install future conda install future
- JMeter学习篇(一):测试实例讲解
1.JMeter的下载与安装 Jmeter官方下载地址:http://jmeter.apache.org/download_jmeter.cgi,下载jmeter是一个zip压缩包,解压后,直接运行a ...
- webapi JWT 认证
第一步 使用ng安装JWT组件 第二步 编写登录和生成token代码 byte[] key = Encoding.UTF8.GetBytes("123456789aaaaaaa") ...
- linux下设置Git
目录 ## Git介绍 1.工作原理 2.SVN与Git的最主要的区别? 3.操作 4.创建本地仓库 5.把文件添加到本地仓库 6.版本回退 7.理解工作区(workspace)与暂存区(index) ...
- python操作redis数据
一.环境安装 1.redispy安装 (automatic) C:\Users\Administrator>pip install redis 2.检测是否安装成功 (automatic) C: ...
- 多台服务器-SSH免密登录设置
在4台服务器-SSH免密登录设置,如以下4台服务器 master1 node001 node002 node003 我想在master1对4台服务器进行拉取或者分发任务或者是集群服务器的批量操作,但是 ...