当前位置:首页 » 《随便一记》 » 正文

自写string.h头文件(部分)_今天也是不卷的一天的博客

27 人参与  2022年03月29日 11:43  分类 : 《随便一记》  评论

点击全文阅读


任务描述:

头文件中包含相应的库函数的函数申明。可以#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"即可。


点击全文阅读


本文链接:http://zhangshiyu.com/post/36961.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1