C语言常见字符串操作函数总结

1. bcmp

原型:extern int bcmp(const void *s1, const void *s2, int n);

用法:#include <string.h>

功能:比较字符串s1和s2的前n个字节是否相等

说明:相等返回0,否则返回非0值

2. bcopy

原型:extern void bcopy(const void *src, const void *dest, int n);

用法:#include <string.h>

功能:将字符串src的前n个字节复制到dest中

说明:bcopy不检查字符串中的空字节NULL,函数没有返回值

3. bzero

原型:extern void bzero(void *s, int n);

用法:#include <string.h>

功能:将字符串s的前n个字节置为0

说明:没有返回值

4. memcpy

原型:extern void *memcpy(void *dest, void* src, unsigned int count);

用法:#include <string.h>

功能:由src所指内存区域复制count个字节到dest所指内存区域

说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针

5. memccpy

原型:extern void *memccpy(void *dest, void* src, unsigned char ch, unsigned int count);

用法:#include <string.h>

功能:由src所指内存区域复制不多于count字节到dest所指内存区域,如果遇到字符ch则停止复制

说明:返回值指向字符ch后的第一个字符的指针,如果src前n个字节中不存在ch则返回NULL,ch被复制

6. memchr

原型:extern void *memchr(void *buf, char ch, unsigned int count);

用法:#include <string.h>

功能:从buf所指内存区域的前count个字节查找字符ch

说明:当一次遇到字符ch时停止查找。如果成功,返回指向字符ch的指针;否则返回NULL

7. memcmp

原型:extern void *memcmp(void *buf1, void *buf1, unsigned int count);

用法:#include <string.h>

功能:比较内存区域buf1和buf2的前count字节

说明:当buf1<buf2时,返回值<0

8. memmove

原型:extern void *memmove(void *dest, const void *src, unsigned int count);

用法:#include <string.h>

功能:由src所指内存区域复制count个字节到dest所指内存区域

说明:src和dest所指内存区域可以重叠,但复制后src内容会被更改,函数返回指向dest的指针

 1 #include <stdio.h>
 2 #include <string.h>
 3 int main(void)
 4 {
 5     char* s = "hello world";
 6     memmove(s, s+3, strlen(s)-3);
 7     s[strlen(s)-3]=0;
 8     printf("s : %s\n", s);
 9
10     return 0;
11 }
12 /* 输出:s : lo world */

memmove示例

9. memset

原型:extern void *memset(void *buffer, int c, int count);

用法:#include <string.h>

功能:把buffer所指内存区域的前count字节设置成字符c

说明:返回指向buffer的指针

10. movmem

原型:extern void *movmem(void *src, void* dest, unsigned int count);

用法:#include <string.h>

功能:由src所指内存区域复制count个字节到dest所指内存区域

说明:src和dest所指内存区域可以重叠,但复制后src内容会被更改,函数返回指向dest的指针

11. stpcpy

原型:extern char *stpcpy(char* dest, char* src);

用法:#include <string.h>

功能:把src所指由NULL结束的字符串复制到dest所指的数组中

说明:src和dest所指内存区域不可以重叠且dest必须有足够的控件来容纳src的字符串,返回指向dest结尾处字符(NULL)的指针

C语言常见字符串操作函数总结

时间: 2024-11-10 15:51:46

C语言常见字符串操作函数总结的相关文章

【C语言】 字符串操作函数及内存拷贝函数归总

今天在这里把零散的一些常用的字符串操作函数和内存拷贝函数进行一下归总实现. 一 . 字符串操作函数 字符串操作函数有很多,这里我列举一些常用的函数,以及自实现的代码: 字符串拷贝函数: 函数原型: char* my_strcpy(char* dst,const char* src) strcpy(): char* my_strcpy(char* dst,const char* src) {     assert(dst);     assert(src);     char *ret = dst

【C语言】字符串操作函数my_strcmp

<span style="font-size:18px;">//实现字符串操作函数strcmp #include<stdio.h> int my_strcmp(char *str1,char *str2) { while(*str1==*str2) { if(*str1=='\0') return 0; else { str1++; str2++; } } if(*str1>*str2) return -1; else return 1; } int ma

【C语言】字符串操作函数my_strcat

<span style="font-size:18px;">//实现字符串操作函数strcat #include<stdio.h> #include<assert.h> char *my_strcat(char *str1,char const *str2) { char *p=str1; assert((str1 != NULL) && (str2 != NULL)); while(*str1 !='\0') { str1++; }

【C语言】字符串操作函数my_strcpy

<span style="font-size:18px;">//实现字符串操作函数strcpy #include<stdio.h> #include<assert.h> char *my_strcpy(char *dest, const char *src) { char *ret = dest; assert((dest != NULL) && (src != NULL));//断言 if(dest == src) return d

C语言常用字符串操作函数总结

函数名: strcpy 功 能: 将参数src字符串拷贝至参数dest所指的地址 用 法: char *strcpy(char *dest, const char *src); 返回值: 返回参数dest的字符串起始地址 说 明: 如果参数dest所指的内存空间不够大,可能会造成缓冲溢出的错误情况,在编写程序时需特别留意,或者用strncpy()来取代: 程序例: #include <stdio.h> #include <string.h> int main(void) { cha

C语言的字符串操作函数小结

一.strcat()函数 char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾.它返回一个指向字符串dest首地址的指针.它的声明如下: char *strcat(char *dest, const char *src) 实例如下: #include <stdio.h> #include <string.h> int main() { char dest[50]="Who ar

C语言用字符串操作函数

头文件:my_string.h #ifndef __MY_STRING__ #define __MY_STRING__ /*十六进制数值字符串转整数*/ int ch_to_hex(const char* val_in,int size); /*判断给定字符串是否是十六进制数*/ int is_hex(const char* val,int size); /*判断给定字符串是否是数字*/ /*R_V:1(数字) 0(非数字)*/ int is_num(const char* val); /*字符

C语言 编写字符串操作函数strrchr,在字符串中查找目标字符最后一次出现的位置,返回指向这次位置的指针。

#include<stdio.h> #include<string.h> const char *my_strrchr(char const *str,int ch) { int i=0,len=0; len=strlen(str); for(i=len-1;i>=0;i--) { if(str[i]==ch) { return str+i; } } return NULL; } int main() { char ch='c'; char src[]="abcde

C语言的常用字符串操作函数(一)

一直做的是单片机相关的程序设计,所以程序设计上更偏向底层,对于字符串的操作也仅限于液晶屏幕上的显示等工作,想提高下字符串操作的水平,而不是笨拙的数组替换等方式,翻看帖子发现C语言的字符串操作函数竟然这样丰富而实用,在此记录,已备后用. No.1 strlen():字符串长度计算函数 应用实例: 1 #include<stdio.h> 2 #include<string.h> 3 4 char TextBuff[] = "Hello_My_Friend!"; 5