#include<stdio.h>
#include<stdlib.h>
int strTime(const char *str1, const char *str2, int *time)
{int count = 0;char *p1 = str1;char *p2 = str2;//p1是第一次出现的位置p1 = strstr(p1, p2);//注意这里不要写成*p1!=NULL 由于p1 是null的地址一旦读取*p1 会出错的!!!!不能读取操作系统的数据//千万不要写成 *p//while (*p1 != '\0')//while (p1 != NULL)while (p1){count++;//让指针向后移动str2长度个位置p1 = p1+strlen(str2);//找到下一次出现的位置p1 = strstr(p1, p2);}*time = count;return 1;
}
//这里也能够实现出现次数的查询/*int strTime(const char *str1, const char *str2, int *time)
{char *p = NULL;int count = 0;char *sub = NULL;p = str1;sub = str2;do{p = strstr(p, sub);if (p != NULL){count++;p = p + strlen(sub);}else{break;}} while (*p != '\0');*time = count;
}*/int getRes2(const char *str, const char *substr, int *time, char **buf2){char *buf = (char *)malloc(strlen(str)*sizeof(char));char *pbuf = buf;//进行字符串的替换char *p = NULL;char *sub = NULL;p = str;sub = substr;int flag = 4;//仅仅要是不相等的情况下就将字符复制到buf中char *point = "dcba";while (*p != '\0'){if (*p != *sub){*buf = *p;buf++;p++;//printf("%s\n", pbuf);}//想等情况下也就是找到了须要替换的位置else{for (int i = 0; i < flag; i++){*buf = *point;buf++;point++;// printf("%s\n", pbuf);}//控制4321循环flag--;//这里须要将离开了"dcba"首地址的指针又一次定位回去point = "dcba";if (flag == 0){flag = 4;}//相等的时候须要让p指针跨越四个字节也就是他下一次进行查找的位置p += 4;}}//对末尾的加上字符串结束标志防止输出时乱码*buf = '\0';//二级指针的典型使用方法*buf2 = pbuf;
}
void main()
{char *str1 = "abcd11111abcd2222abcdqqqqqabcd11111abcd2222abcdqqqqqabcd11111abcd2222abcdqqqqq";char *str2 = "abcd";int time = 0;//1求字符串"abcd"出现的次数strTime(str1, str2, &time);printf("出现的次数是%d\n", time);char *buf = NULL;//把字符串替换成(dcba11111dcb2222dqqqqqdd11111dcba.....)//注意特点逆序后,每次字符少一个,四次一循环;getRes2(str1, str2, &time, &buf);printf("原来的字符串   %s\n", str1);printf("替换后的字符串 %s\n", buf);system("pause");
}

【通过操作指针,与指针做函数參数#39;实现字串在主串中出现的次数,然后将出现的部分依照要求进行替换 】...相关推荐

  1. 指针的引用做函数的参数

    #include <iostream>using namespace std; // 二级指针的使用 [11/24/2017 Andrew]struct Teacher {char nam ...

  2. c语言指针和函数对数组A升序排序,函数指针作为函数參数,实现冒泡排序的升序排序和降序排序...

    #include #define N 10//定义数组元素个数 int Ascending(int a,int b);//升序排列的函数声明 int Descending(int a,int b);/ ...

  3. 用python处理excel数据做函数_如何使用python通过函数式编程完成excel中的数据处理及分析工作...

    Excel是数据分析中最常用的工具,本篇文章通过python与excel的功能对比介绍如何使用python通过函数式编程完成excel中的数据处理及分析工作.在Python中pandas库用于数据处理 ...

  4. c语言指针,return以及函数返回值

    指针作为c语言的精华所在所以会多学习几天来扎实的掌握 void* 这不叫空指针,这叫无确切类型指针.这个指针指向一块内存,却没有告诉程序该用何种方式来解释这片内存.所以这种类型的指针不能直接进行取内容 ...

  5. c/c++教程 - 2.2 引用的使用方法,引用做函数参数,引用做返回值,引用的本质,常量引用

    2. 引用 学习目的:取代C中的指针. 目录 2. 引用 2.1 引用的基本使用方法 2.2 引用注意事项 2.3 引用做函数参数 2.4引用做函数返回值 2.5 引用的本质 2.6 常量引用 相关教 ...

  6. Python学习笔记7:函数对象及函数对象作參数

    一.lambda函数 比如: fun1 = lambda x,y: x + y print fun1(3,4) 输出:7 lambda生成一个函数对象.该函数參数为x,y,返回值为x+y.函数对象赋给 ...

  7. 具体解释可变參数列表

    可变參数   至少有一个參数 比如:void add(int a,- ){} 例题  模拟printf()函数 #include <stdio.h> #include <stdarg ...

  8. 使用JDBC改变Oracle的session參数 NLS_DATE_FORMAT

    近期项目除了一个问题,场景大概是这种,项目在国外开发.在项目开发过程中使用了大量的Oracle函数TO_DATE,可是开发者没有写第二个參数. 所以项目在国外的server上能够正常执行.但是在国内的 ...

  9. 运放參数解释及经常使用运放选型

    集成运放的參数较多,当中主要參数分为直流指标和交流指标,外加全部芯片都有极限參数. 本文以NE5532为例,分别对各指标作简单解释. 以下内容除了图片从NE5532数据手冊上截取,其他内容都整理自网络 ...

最新文章

  1. POJ - 1904 King's Quest 强连通tanjar思想
  2. 【漫画】以后在有面试官问你AVL树,你就把这篇文章扔给他。
  3. datetimepicker 时间不更新_iOS 14.2 正式版推送:新增人体检测,这些功能值得更新...
  4. 二分法求解方程的根java_C语言二分法求解方程根的两种方法
  5. TensorFlow MNIST TensorBoard版本
  6. 基于生命周期理论的农业科学数据中心化管理模式
  7. web字体设置成平方字体_探索免费和开放的Web字体
  8. 深度分析Spring中的构造器注入
  9. 转:awakeFromNib/loadView/viewDidLoad总结
  10. sudo spctl --master-disable_2020推荐聊城灭火器检测--正规企业--【聊城市久安消防】...
  11. 英文文本处理 c github_真香警告!有了这个搜索大法,GitHub可以玩到飞起来!
  12. 计算机控制技术数据存储器有,计算机控制技术复习资料.doc
  13. 数据挖掘之拟合优度检验
  14. 应用加速,数字人民币接入多地交通出行场景 | 产业区块链发展周报
  15. SpringBoot整合EasyExcel实现Excel表格的导出功能
  16. Free Launch Bar
  17. 北京理工计算机科学与应用,沈蒙_北京理工大学计算机学院
  18. 【枚举的定义;枚举变量的定义、初始化和赋值】(学习笔记16--枚举)
  19. oracle wallet java_oracle wallet实践及常用维护操作
  20. Html .CSS JQUERY (magnifier)实现详情页面特效

热门文章

  1. .NET MVC 遇到的小问题
  2. 黑客购买恶意软件攻击航空航天和交通行业,潜伏5年+
  3. 一步一步回顾分析攻防演习中的 WebLogic T3 反序列化 0day 漏洞
  4. 工业环境软件套件 CODESYS web 服务器被曝严重的RCE漏洞
  5. 手把手教你整合最优雅SSM框架
  6. Python进阶三部曲网络编程
  7. 最新数据!妇科类用药领域,中成药占比高
  8. iOS tabbar 图片,最佳大小方式
  9. 路由器升级须注意,升级导致功能失灵无法使用无线功能
  10. CEF与快速交换的比较