1.strlen()函数的源代码及调用:

#include<stdio.h>
int strlen(char *s);
int main()
{int n;scanf("%d",&n);char a[n];gets(a);printf("%d",strlen(a));return 0;
}
int strlen(char *s)
{int cnt;for(cnt=0;s[cnt];cnt++){}return cnt;
}

2.strcmp()函数的源代码及调用:

#include<stdio.h>
#define n 10
#define m 10
int strcmp(char s1[],char s2[]);
int main()
{int flag;char a[n],b[m];gets(a),gets(b);flag=strcmp(a,b);if(flag){if(flag>0){printf("array (a)is biger than array (b)");}else{printf("array (a)is smaller than array (b)");}}else{printf("they are the same!");}return 0;
}
int strcmp(char s1[],char s2[])
{int i=0;while(s1[i]==s2[i]){if(*(s1+i++)=='\0'){return 0;}}return (s1[i]-s2[i]);
}

3.strcpy()函数的源代码及调用:

#include<stdio.h>
#define n 10
#define m 10
void strcpy(char *a,char *b);
int main()
{char a[m],b[n];//每个数组大小10个字节为例gets(a),gets(b);strcpy(a,b);//把b粘贴到a里去 puts(a); return 0;
}
void strcpy(char *a,char *b)
{while((*a++=*b++)!='\0'){if(*a=='\0') //不超过数组a的限度return;}return;
}
strcpy
xuezangNB
xuezan--------------------------------
strcpy
wow
wow--------------------------------

4.strcat()函数的源代码及调用:

#include<stdio.h>
#define m 20
#define n 10
void strcat(char a[],char b[]);
int main()
{char a[m],b[n];//a数组大一些gets(a),gets(b);strcat(a,b);//把b粘贴到a里去puts(a);return 0;
}
void strcat(char a[],char b[])
{int i,j=0;for(i=0; a[i]; i++);while(b[j]){a[i]=b[j];i++,j++;}a[i]=b[j];return;
}

5.strchr()函数的源代码及调用:

#include<stdio.h>
char *strchr(const char *str, int c);
int main()
{char a[100];char c,*p=0;gets(a);c=getchar();p=strchr(a,c);puts(p);//输出字符c后的字符串return 0;
}
char *strchr(const char *str, int c)//在学长的帮助下完善了@^-^@
{while(*str++!=c);return (char*)str;
}

6.strstr()函数的源代码及调用:

#include<stdio.h>
char *strstr(const char *haystack, const char *needle);
int main()
{char a[10];char b[10],*p=0;gets(a),gets(b);p=strstr(a,b);puts(p);//输出找到的字符串breturn 0;
}
char *strstr(const char *haystack, const char *needle)
{while(*haystack++!=*needle);return (char*)(haystack-1);
}

7.strncmp()函数的源代码及调用:

#include<stdio.h>
int strncmp(const char *str1, const char *str2, int n);
int main()
{char str1[15];char str2[15];int n;int ret;gets(str1),gets(str2);scanf("%d",&n);ret = strncmp(str1,str2,n);if(ret < 0){printf("str1< str2");}else if(ret > 0){printf("str2< str1");}else{printf("str1== str2");}return 0;
}
int strncmp(const char *str1, const char *str2, int n)
{ int i=0;while(1){if(*str1++!=*str2++)break;if(i++==(n-1))break;}if(n==i) return 0;elsereturn (int)(*(str1-1)-*(str2-1));
}
/*有点麻烦,欢迎提出更好的算法
*/
abcdFs
abcdA
5
str2< str1
--------------------------------

8.strncpy()函数的源代码及调用:

#include<stdio.h>
char *strncpy(char *src, const char *dest, int n);
int main()
{int n;char src[40];char dest[12],*p=0;gets(src);gets(dest);scanf("%d",&n);getchar();p=strncpy(src,dest,n);src[n]='\0';printf("复制后的src字符串:%s",p);return 0;
}
char *strncpy(char *src, const char *dest, int n)
{char *p=src;while((*p++=*dest++)&&n )--n;return &src[0];//在学长的指点下,更正了一个小错误,嘻嘻
}
fsfdfh
qew
2
复制后的src字符串:qe
--------------------------------

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

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

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

  2. string.h头文件

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

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

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

  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. 关于string.h头文件的函数——C语言

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

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

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

  8. std.h对应linux头文件,bits/stdc++.h头文件介绍(包含源代码)

    注:转自http://blog.csdn.net/charles_dong2/article/details/56909347,同为本人写的,有部分修改. 之前在一个小OJ上刷题时发现有人是这么写的: ...

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

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

最新文章

  1. python元组(tuple)使用示例+常用方法+列表(list)和元组(tuple)的异同?
  2. SpringIOC注解的学习笔记(一)
  3. 并查集hdu1232
  4. ASP.NET2.0 - ASP.net MVC和ASP.net Web Forms
  5. 计算机基础知识二进步,大学计算机基础学习知识练习进步题(含规范标准答案).doc...
  6. 拉马车 的游戏 c语言编程,蓝桥杯 拉马车(模拟)
  7. 多线程—并发容器与机制
  8. android wifi连接手机,Android手机无线连接利器-AirDroid
  9. android 左滑按钮,android开发类似微信列表向左滑动按钮操作
  10. TensorFlow 2.0 mnist手写数字识别(CNN卷积神经网络)
  11. 作者:胡良霖(1973-),男,中国科学院计算机网络信息中心高级工程师
  12. OpenShift 4 Hands-on Lab (4) - 用ImageStream操作Image
  13. 47 -算法 -回文串 -Leetcode 125 - 验证回文串
  14. java编程应该要的英语_java编程中常用英语单词
  15. Linux(ubuntu)下打包 解压
  16. CAN学习笔记一:DBC文件创建
  17. iview 循环 卡片 更好图标 背景色 标题
  18. colorbox iframe小记
  19. 用LSTM自动生成古诗
  20. 代码随想录第十五天 二叉树层序遍历 226、101

热门文章

  1. MySQL8.0.27安装后,使用CMD无法启动mysql服务
  2. c语言程序设计账单,个人账单管理系统数据结构.doc
  3. burpsuite进行第一次爬行审计
  4. 西部数码虚拟主机服务器配置,西部数码虚拟主机预装软件功能介绍
  5. 指定未知的错误:0x80240037
  6. ansys仿真软件,HFSS的使用
  7. html的text滚条设置,textarea 滚动条属性设置
  8. 如何编写Shell脚本
  9. XP系统还不过时 教你完美征服3TB硬盘
  10. delphi使用SQL的教程7