#include<stdio.h> #include <string.h> //实现字符串拼接 char * mystrcat(char * dest,char * src) { char * bak=dest; if(dest==NULL||src==NULL) { return NULL; } //将dest的指针移动到最后 while(*dest!='\0') { dest++; } //在dest后面加上src while(*src!='\0') { dest++; src…
strcpy和memcpy都是标准C库函数,它们有下面的特点. strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符'\0'. 已知strcpy函数的原型是:char* strcpy(char* dest, const char* src); memcpy提供了一般内存的复制.即memcpy对于需要复制的内容没有限制,因此用途更广. void *memcpy( void *dest, const void *src, size_t …
#include<stdio.h> #include <string.h> int mystrcmp(char * p1,char * p2) { int ret=0; if(p1!=NULL||p2!=NULL) { while(*p1==*p2) { p1++; p2++; } if(*p1!=*p2) { ret=*p1-*p2; } } return ret; } int main() { char * p1="helloworld"; char * p…
strlen表示的实际的字符串长度,不会把字符串结束符'\0'计算进去,而sizeof则不是实际的字符串长度,它会把字符串的结束标识符'\0'也包含进去. #include<stdio.h> int main() { char cdata1[125]="hello"; int len1=strlen(cdata1); char cdata2[]="hello"; int len2=strlen(cdata2); printf("cdata1实际…
#include<stdio.h> int main() { char cdata[]={'h','e','l','l','o'}; char cdata2[]="hello"; int len=sizeof(cdata)/sizeof(cdata[0]); printf("cdata长度=%d\n",len);//长度为5 len=sizeof(cdata2)/sizeof(cdata2[0]); printf("cdata2长度=%d\n&…
1 首先介绍几个常用到的转义符 (1)     换行符“\n”, ASCII值为10: (2)     回车符“\r”, ASCII值为13: (3)     水平制表符“\t”, ASCII值为 9: (4)     空字符“\0” ,ASCII值为0: (5)     空:NULL (即为0): (6)     空格键space, ASCII值为32: 2 常用输入输出函数 scanf() , 从缓冲区读入数据,以空格,制表符,换行等作为分隔.成功——返回成功转换并存入参数中的值的个数,出错…
一直做的是单片机相关的程序设计,所以程序设计上更偏向底层,对于字符串的操作也仅限于液晶屏幕上的显示等工作,想提高下字符串操作的水平,而不是笨拙的数组替换等方式,翻看帖子发现C语言的字符串操作函数竟然这样丰富而实用,在此记录,已备后用. No.1 strlen():字符串长度计算函数 应用实例: #include<stdio.h> #include<string.h> char TextBuff[] = "Hello_My_Friend!"; int main(v…
有个题目编程实现字符串拷贝函数strcpy(),很多人往往很快就写出下面这个代码. void strcpy( char *strDest,char *strSrc ) { while(( *strDest++ = * strSrc++) != '\0' );//逐个赋值字符串数组中的数据,知道字符串结束 } 其实仔细看看这个实现过程并不完美,严格来说非常不严谨,我们可以完善一下. char * strcpy( char *strDest, const char *strSrc )//将源字符串加…
1.strncpy字符串拷贝函数 //strncpy的程序 #include<stdio.h> #include<assert.h> char *strncpy1(char *strDest,const char *strSrc,int n) { assert((strDest!=NULL)&&(strSrc!=NULL)&&n>); if(strDest==strSrc) return strDest; char *Address=strDe…
自己实现一个字符串的拷贝函数 #include<stdio.h> #include<stdlib.h> #include <string.h> char * mystrcpy(char * dest,char * src) { if(dest==NULL||src==NULL) { return NULL; } char * bak=dest; while(*src!='\0') { *dest=*src; dest++; src++; } *dest='\0';//添…