string.h头文件中局部函数的自我编写,简易版

今天我写的是strcpy,strncpy,strcat,strncat,strcmp,strncmp这六个函数的自我编写,没有考虑多余情况,

自我感觉还行,就是最后为了方便检查去,却没有方法对字符串重置,硬生生定义了十几个数组。

有点尴尬之外,感觉还是不错的。


/*

 * 2017年7月17日15:31:42
 * 实现不调用string.h的头文件下,写几个函数使得主函数可以使用string.h中局部的命令。
 */


#include<stdio.h>
//#include<string.h>
void strcat1(char str1[],char str2[])  //实现strcat
{
char *p1 = str1;
char *p2 = str2;


while (*p1)
p1++;
while (*p2)
{
*(p1++) = *(p2++);
}
*p1 = *p2;
}


void strncat1(char str1[],char str2[],int n)  //实现strncat
{
char *p1 = str1;
char *p2 = str2;


while (*p1)
p1++;
while (p2 < str2+n)
{
*(p1++) = *(p2++);
}
*p1 = '\0';
}


void strcpy1(char str1[],char str2[])   //实现strcpy
{
char *p1 = str1;
char *p2 = str2;

while (*p2 )
{
*(p1++) = *(p2++);
}
*p1 = '\0';
}


void strncpy1(char str1[],char str2[],int n)   //实现strncpy
{
char *p1 = str1;
char *p2 = str2;

while (p2 < str2+n)
{
*(p1++) = *(p2++);
}
}


int strcmp1(char str1[],char str2[])   //实现strcmp
{
char *p1 = str1;
char *p2 = str2;
int len1 = sizeof(str1)/sizeof(str1[0]);
int len2 = sizeof(str2)/sizeof(str2[0]);


if (len1==len2)
{
while(*p1)
{
if (*p1==*p2)
{
p1++;
p2++;
}
else break;
}
if (*p1=='\0')
return 0;
else return 1;
}
else return 1;


}


int strncmp1(char str1[],char str2[],int n)   //实现strncmp
{
char *p1 = str1;
char *p2 = str2;


while(p1<str1+n)
{
if (*p1==*p2)
{
p1++;
p2++;
}
else break;
}
if (p1==str1+n) 
return 0;
else return 1;
}




int main()
{
char str1[100] = "hello ";
char str2[]    = "world";
strcat1(str1,str2);
puts(str1);


char str3[100] = "hello ";
char str4[]    = "world";
strncat1(str3,str4,2);
puts(str3);

char str5[100] = "hello ";
char str6[]    = "world";
strcpy1(str5,str6);
puts(str5);

char str7[100] = "hello ";
char str8[]    = "world";
strncpy1(str7,str8,2);
puts(str7);


char str9[100] = "hello ";
char str10[]   = "hello ";
int a = strcmp1(str9,str10);
printf("%d\n",a);


char str11[100] = "hello ";
char str12[]    = "hel   ";
int b = strncmp1(str11,str12,4);
printf("%d\n",b);
return 0;
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要下载string.h头文件,你可以按照以下步骤进行操作: 1. 首先,打开你的互联网浏览器,比如谷歌浏览器、火狐浏览器等。 2. 在搜索引擎的搜索框输入“string.h头文件下载”等相关关键词,然后点击搜索按钮。 3. 浏览器将会显示出与你搜索关键词相关的搜索结果。要下载string.h头文件,你可以选择相关的网站或资源来进行下载,比如Github、CSDN等。 4. 点击你选择的网站链接,进入网站页面。 5. 在网站页面上找到你需要的string.h头文件的下载链接,通常会有一个下载按钮或者文件链接。 6. 点击下载按钮或链接,弹出下载框或者直接开始下载。你可以选择保存文件的目录位置,然后等待下载完成。 7. 下载完成后,你就可以在你选择保存的目录位置找到string.h头文件。 总的来说,下载string.h头文件就是通过搜索引擎找到相关资源网站,然后在网站上寻找下载链接,最后进行下载并保存到指定目录位置。希望这个回答可以帮助到你! ### 回答2: 在C语言string.h是一个常用的头文件,提供了一系列用于操作字符串的函数。要下载string.h头文件,可以按照以下步骤进行: 1. 找到一个可靠的源代码下载网站或者版本控制系统,例如GitHub。 2. 在搜索栏输入“string.h”进行搜索。 3. 在搜索结果找到与所需字符串操作函数相关的源代码文件。 4. 点击进入该文件的页面,查看文件内容和下载选项。 5. 选择合适的下载选项,通常包括直接下载源代码文件或使用git clone命令进行克隆。 6. 点击下载按钮或执行克隆命令,将string.h头文件保存到本地计算机的指定目录。 值得注意的是,string.h是C语言标准库的一部分,通常随同编译器一同提供。因此,在大多数情况下,不需要单独下载string.h头文件。如果你已经安装了一个C编译器,那么string.h头文件应该已经在编译器的安装目录,可以直接调用相关的字符串操作函数进行编程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值