任务描述:

头文件中包含相应的库函数的函数申明。可以#include用来引入对应的头文件(.h文件)。其实,我们可以编写自己的函数库和相应的头文件。这就是C语言中的多文件编程。请查询书籍文献和网络资源编写自己的字符串函数库,并使用自己的头文件编写样例程序。其中至少包括 strcat,strcmp,strlen,strcpy,strlwr,strupr等函数功能,并自行编码实现,不得直接封装原来库函数

1.先声明。

#ifndef MYSTRING_H
#define MYSTRING_H#include<stdio.h>
//在.h后缀文件里声明
char *strcat(char *a,char *b);
int strcmp(char *a,char *p);
int strlen(char *a);
void *strcpy(char *a,char *b);
void *strlwr(char *a);
void *strupr(char *a);
#endif 

。2.封装。

#include <stdio.h>
#include "mystring.h"//这里必须要写,而且必须是双引号。
//在mystring.c文件里封装。
char *strcat(char *a,char *b){char *p=a;int i;while(*a!='\0'){a++;}for(a;*b!='\0';a++,b++){*a=*b;}*a='\0';return p;
}
int strcmp(char *a,char *b){for(a;;a++,b++){if(*a>*b)return 1;else if(*a<*b) return -1;else if(*a=='\0') return 0;}
}
int strlen(char *a){int sum=0;while(*a!='\0'){sum++;a++;}return sum;
}
void *strcpy(char *a,char *b){for(;*b!='\0';a++,b++){*b=*a;}*a='\0';
}
void *strlwr(char *a){for(;*a!='\0';a++){if(*a>='A'&&*a<='Z'){*a+=32;}}
}
void *strupr(char *a){for(;*a!='\0';a++){if(*a>='a'&&*a<='z'){*a-=32;}}
}

3.在main.c文件里引用#include"mystring.h"即可。

自写string.h头文件(部分)相关推荐

  1. string类 string.h头文件 cstring头文件区别以及读取一行字符串总结

    以前一直分不清string类  string.h头文件 cstring头文件的去别,今天ce了一发才稍微弄懂了. 首先C语言中只有string.h头文件,string.h包含了一些字符数组和字符串的函 ...

  2. string.h头文件

    string.h头文件包含了许多用于字符数组的函数.使用以下函数时需要在开头添加string.h头文件. 1.strlen():该函数可以得到字符数组中第一个\0前的字符的个数,其格式为:strlen ...

  3. Ler(一) stdlib.h,stdio.h,string.h头文件

    一.定位不同 1.stdlib.h是standard library标准库头文件,定位在通用工具函数. 2.stdio.h是standard input&output标准输入输出头文件,定位在 ...

  4. C语言中的string.h头文件

    C库提供了多个处理字符串的函数,ANSI C把这些函数的原型放在string.h头文件中. string.h头文件中常用的函数有strlen(),strcat(),strcmp(),strncmp,s ...

  5. C语言 string.h头文件

    C标准要求在使用字符串函数时要包含头文件string.h,在使用字符函数时包含头文件 ctype.h     函数名     函数原型     功能     返回值     包含文件     isdi ...

  6. C/C++关于string.h头文件和string类

    1.C的字符串头文件是<string.h>,在C++里这个文件变成了<cstring>,string前面的c表示这个是c语言的:而C++的字符串头文件是<string&g ...

  7. string.h头文件的简单运用

    strcpy(b, a):把字符串a复制到字符串b中 strlen(a):计算字符串a的长度 #include <stdio.h> #include <string.h>int ...

  8. 关于string.h头文件的函数——C语言

    首先要使用string.h函数,首先要编写#include<string.h> 1.strlen函数:此函数可以求得字符串的长度,但所求长度不包括"\0"所占的长度. ...

  9. string.h头文件里的函数源代码及调用(尝试编写)

    1.strlen()函数的源代码及调用: #include<stdio.h> int strlen(char *s); int main() {int n;scanf("%d&q ...

  10. java string的头文件_头文件 string.h cstring string 区别

    1. #include    //不可以定义string s:可以用到strcpy等函数 using   namespace   std; #include    //可以定义string s:可以用 ...

最新文章

  1. Tomcat Servlet学习
  2. ios html双击下移,H5页面在ios上双击div,导致屏幕上移的js解决办法
  3. 360浏览器的收藏栏不见了怎么办?
  4. 信息学奥赛一本通C++语言——1131:基因相关性
  5. Lintcode: Permutation Index
  6. 2013编程之美资格赛【传话游戏】
  7. Eclipse中的m2e不支持如何修复maven-dependency-plugin(目标为“ copy-dependencies”,“ unpack”)
  8. NOI2005 瑰丽华尔兹
  9. 消息被重复消费,怎么避免?
  10. Windows内核编程学习1:构建HelloWorld
  11. mapgis6.7的放大缩小快捷键
  12. 通过链接下载文件并保存到本地
  13. EAS使用后台事务定时执行方法
  14. 【室内/外设计】天正T20V3.0软件安装教程
  15. mysql自增步长_mysql实现自增步长调整_数据库,mysql,自增,步长,调整
  16. 戴尔台式计算机没声音,戴尔电脑没声音怎么回事?四个方法轻松解决
  17. 教你一个免费白嫖域名的方法
  18. xshell进入桌面_xshell中启动linux图形界面
  19. WeChatExtension:一款mac微信必备插件!
  20. PID模型优化(系统辨识工具箱及PID tuner)

热门文章

  1. 微信小程序注册审核流程
  2. ES分布式架构的原理
  3. 迈迪 由于目标计算机积极拒绝,adb“由于目标计算机积极拒绝,无法连接”的解决方案...
  4. ENVI中FLAASH大气校正中的Atmosphere Model选项各含义
  5. 教你用R画列线图,形象展示预测模型的结果
  6. 将Excel文件数据导入到Oracle
  7. 无法打开包括文件: “Eigen/Dense”【CMakeLists 解决方案】
  8. Alfred插件之有道翻译配置过程
  9. 火车头翻译-火车头采集翻译插件使用教程【2022】
  10. Apache Solr 建立 HBase 二级索引