首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏C语言讲解

    字符串和内存函数2

    2.13 memcpy void* memcpy(void* destination, const void* source, size_t num); 函数memcpy从source的位置开始向后复制 这个函数在遇到 ‘\0’ 的时候并不会停下来。 如果source和destination有任何的重叠,复制的结果都是未定义的。 memcpy是内存拷贝,它可以拷贝字符串、整型数组、结构体数组等多种类型,所以要用void*的指针来接收。 printf("%d ", arr1[i]);//1 2 1 2 1 2 1 8 9 10 } return 0; } 因此,memcpy函数是用来处理不重叠的内存拷贝的。 如果源空间和目标空间出现重叠,就得使用memmove函数处理。

    27010编辑于 2024-01-22
  • 来自专栏c语言,c++

    字符串和内存函数2

    字符串函数 strtok函数 strtok函数的规则: 1.参数1是指定一个字符串,它包含0个或多个由参数2字符串中一个或多个分隔符分割的标记 2.参数2是个字符串 (注:strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可以修改。) 4.strtok函数的第一个参数不为NULL,函数将找到参数1中第一个标记,strtok将保存它在字符串中的位置 5.strtok函数的第一个参数为NULL,函数将在同一个字符串中被保存的位置开始 memset函数 memset函数是用来设置内存的,以字节为单位进行设置。如上图,参数1是起始地址,参数2是要设置的内容,参数3是设置的字节个数。 memcmp函数 memcmp函数与strcmp函数类似,不过strcmp函数只能进行字符串的比较,memcmp是内存块的比较,可以比较任意类型的数据。

    26310编辑于 2024-01-19
  • 来自专栏C++

    C语言(字符、字符串函数2

    所以 strcmp 函数的返回值是int类型,我们在使用字符串函数的时候一定要清楚每个函数的返回值是什么。 \0结尾,返回一个指向这个标记的指针(strtok 函数会改变被操作的字符串,所以被 strtok 函数切分的字符串一般都是临时拷贝的内容并且可修改);strtok 函数的第一个参数不为NULL,函数将找到 str中第一个标记,strtok 函数将保存它在字符串中的位置;strtok 函数的第一个参数为NULL,函数将在同一个字符串中被保存的位置开始,查找下一个标记;如果字符串中不存在更多标记,则返回NULL ,方便后面返回; (2)当两个字符串的字符两两比较一直到目标字符串访问到 ‘\0’ 时说明找到了,返回之前记住的地址; (3)当被查找的字符串访问到 ‘\0’ 时说明被查找的字符串不存在 if (*str2 == '0')//当目标字符串是空字符串时 { return cur; } while (*cur !

    49910编辑于 2024-10-16
  • 来自专栏Yui编程知识

    字符串函数2)strcpy函数的模拟与优化

    strcpy函数的解释与注意事项 Copies the C string pointed by source into the array pointed by destination, including char ch2[] = "abcdef"; printf("%s\n", strcpy(ch1, ch2)); return 0; } strcpy函数的模拟实现 #include <stdio.h //目的字符串必须足够大以确保可以放下源字符串 char ch2[] = "abcdef"; printf("%s\n", my_strcpy(ch1, ch2) ); return 0; } //目的字符串必须足够大以确保可以放下源字符串 char ch2[] = "abcdef"; printf("%s\n", my_strcpy(ch1, ch2) ); return 0; } //目的字符串必须足够大以确保可以放下源字符串 char ch2[] = "abcdef"; printf("%s\n", my_strcpy(ch1, ch2) ); return 0; }

    27710编辑于 2024-10-15
  • 来自专栏热爱编程的证据

    模拟实现常用字符串函数2)strcpy函数

    1.函数介绍 意思是:strcpy是copy string(复制字符串)参数是两个指针,一个指向所复制的字符串(source),一个指向需要复制到地方(destination)  我们可以利用它来拷贝我们所需要的字符串到指定的地方去 ,但目的地也是一个字符串数组来存储。 2.模拟实现 知道了他的用法后,下面我们来用我们自己的思想来模拟实现它。 基本的方法是用两个指针分别遍历两个字符串并进行赋值,注意这里还有加一个附加条件,就是判断两个指针所指向的地方是否为空(利用assert判断)。 char* my_strcpy(char* str2, const char* str1) { char* ret = str2; assert(str2 !

    27010编辑于 2024-01-23
  • 来自专栏我的C语言

    字符串函数的运用和理解(2

    } 2、1strstr 根据介绍,这个函数是在str1中寻找str2的内容。 1、delimiters参数指向⼀个字符串,定义了⽤作分隔符的字符集合 2、第⼀个参数指定⼀个字符串,它包含了0个或者多个由delimiters字符串中⼀个或者多个分隔符分割的标记。 (注:strtok函数会改变被操作的字符串,所以在使⽤strtok函数切分的字符串⼀般都是临时拷⻉的内容并且可修改。) 4、strtok函数的第⼀个参数不为 NULL ,函数将找到str中第⼀个标记,strtok函数将保存它在字符串中的位置。 5、strtok函数的第⼀个参数为 NULL ,函数将在同⼀个字符串中被保存的位置开始,查找下⼀个标记。

    26010编辑于 2024-01-23
  • 来自专栏C/C++/数据结构/算法

    【C语言】字符和字符串函数(2)

    这个时候就要引入我们带n的字符串函数,那个多出来的n就代表数量,是我们想拷贝字符串时,要拷贝的字符的个数    而不带n的字符串函数和带n的字符串函数的根本区别是带n的字符串函数更灵活,可以指定拷贝的字符的个数 ,所以也叫带n的字符串函数为受限制的字符串函数,不带n的为不受限制的字符串函数    接下来我们来看看本次讲到的strncpy函数的原型: char * strncpy ( char * destination 有两种情况,如果在字符串str1中找到了字符串str2,那么就返回str1中找到str2的起始位置,如果没有在字符串str1中找到字符串str2,那么就返回一个空指针    所以在使用的时候,我们就可以通过它的返回值来确认是否找到对应的字符串 str中的下⼀个标记,并将其⽤ \0 结尾,返回⼀个指向这个标记的指针(注:strtok函数会改变被操作的字符串,所以被strtok函数切分的字符串⼀般都是临时拷⻉的内容并且可修改) strtok函数的第 ⼀个参数不为 NULL ,函数将找到str中第⼀个标记,strtok函数将保存它在字符串 中的位置 strtok函数的第⼀个参数为 NULL ,函数将在同⼀个字符串中被保存的位置开始,查找下⼀个标记

    33510编辑于 2024-10-15
  • 来自专栏学习

    【字符函数】strcpy函数字符串复制函数)+strcat函数字符串追加)+strcmp函数字符串比较)【笔记】

    1.复制函数--------------strcpy函数 函数使用 char*strcpy(char* destination, const char* source) strcpy函数用于拷贝字符串 会将源字符串中的 ‘\0’ 拷贝到目标空间。 目标空间必须足够大,以确保能存放源字符串。 目标空间必须可修改。 .模拟实现 进入函数体时先定义一个指针变量保存目标空间的起始位置,便于之后返回。 ) char *strcat( char* destination, const char* Source );  strcat函数用于追加字符串,即将一个字符串中的内容追加到另一个字符串中。 strcmp(const char* str1,const char* str2) strcmp函数用于比较两个字符串内容的函数2.模拟实现 进入函数体直接比较起始位置的字符的大小。

    78710编辑于 2024-11-21
  • 来自专栏学习

    字符函数字符串函数

    (const char*str) strlen函数有几点需要注意 • 字符串以 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前⾯出现的字符个数(不包 含 '\0' ) 使用: (函数返回字符串str2字符串str1中第⼀次出现的位置) (字符 串的⽐较匹配不包含 \0 字符,以 \0 作为结束标志)。 (注: strtok函数会改变被操作的字符串,所以在使⽤strtok函数切分的字符串⼀般都是临时拷⻉的内容 并且可修改。) • strtok函数的第⼀个参数不为 NULL ,函数将找到str中第⼀个标记,strtok函数将保存它在字符串 中的位置。 • strtok函数的第⼀个参数为 NULL ,函数将在同⼀个字符串中被保存的位置开始,查找下⼀个标 记。 • 如果字符串中不存在更多的标记,则返回 NULL 指针。

    32500编辑于 2024-11-21
  • 来自专栏我的计算机成长

    字符函数字符串函数

    注意函数的返回值为size_t,是无符号的( 易错 ) 学会strlen函数的模拟实现  strlen是一个库函数,是用来求字符串的长度的,len1和len2的值是一样的,因为str是char*类型的指针 ] = "abq"; int ret = strcmp(arr1, arr2); printf("%d", ret); return 0; } 3.长度受限制的字符串函数介绍 strncpy (注:strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改。) strtok函数的第一个参数不为 NULL ,函数将找到str中第一个标记,strtok函数将保存它在字符串中的位置。 NULL ,函数将找到str中第一个标记,strtok函数将保存它在字符串中的位置。

    50810编辑于 2024-01-23
  • 字符函数字符串函数

    函数  写 ⼀个代码,将一个字符串复制给另一个字符串 看一下这个方法可不可以 char arr1[] = "abcdefg"; char arr2[20] = { 0 }; arr1 = arr2; 我们把 ); printf("%s\n", arr2); return 0; } 函数strcpy将arr1复制给arr2 strcat函数 将源字符串的副本追加到目标字符串。 be "); strcpy(str2, "or not to be"); strncat(str1, str2, 6); printf("%s\n", str1); return 0; } 通过字符串复制函数 strcpy给两个字符数组初始化,再用“安全的字符串拼接函数strncat”,将str2 的前6个字符拼接到str1尾,最终输出拼接后的完整字符串 strncmp函数 int strncmp ( const ); printf("%d\n", ret); return 0; } 可以看到比strcmp多了一个参数,这个参数代表范围,表示比较前三个字符的大小 strstr函数 函数返回字符串str2字符串

    15610编辑于 2026-01-23
  • 来自专栏网络收集

    Mysql 十大常用字符串函数(2)

    6.TRIM()   TRIM([remstr FROM] str)函数用于返回删除字符串 str 两侧所有 remstr 字符串之后的子串,remstr 默认为空格。 )函数表示在字符串 str 的右侧使用 padstr 进行填充,直到长度为 len。 例如:   当字符串 str 的长度大于 len 时,相当于从右侧截断字符串。   另外,REPEAT(str,count)函数用于将字符串 str 复制 count 次并返回结果。 LOCATE(substr,str,pos)函数返回子串 substr 在字符串 str 中从位置 pos 开始第一次出现的索引位置,例如:   FIELD(str,str1,str2,str3,…) 函数返回字符串 str 在后续字符串列表中出现的位置,没有找到时返回 0。

    37050编辑于 2022-03-31
  • 来自专栏Code

    字符串函数和字符函数

    字符分类函数 C语⾔中有⼀系列的函数是专⻔做字符分类的,也就是⼀个字符是属于什么类型的字符的。这些函数的使⽤都需要包含⼀个头⽂件是 ctype.h 2. 如果source指向的字符串的⻓度⼩于num的时候,只会将字符串中到 \0 的内容追加到destination指向的字符串末尾 9. strncmp函数的使⽤ ⽐较str1和str2的前num个字符, 如果num个字符都相等,就是相等返回0. 10. strstr的使⽤和模拟实现 函数返回字符串str2字符串str1中第⼀次出现的位置 符串的⽐较匹配不包含 \0 字符,以 \0 作为结束标志 11. (注: strtok函数会改变被操作的字符串,所以在使⽤strtok函数切分的字符串⼀般都是临时拷⻉的内容并且可修改。) • strtok函数的第⼀个参数不为 NULL ,函数将找到str中第⼀个标记,strtok函数将保存它在字符串 中的位置。

    23300编辑于 2024-11-20
  • 来自专栏编程学习之路

    字符函数字符串函数

    例子如下 所以我们就多了这三个函数,有长度限制的函数,vs认为其很安全。 strncpy strncpy 如果num小于字符串长度,则直接取出其对应的字符 (后面不带\0),对应什么就拿什么。 strstr strstr会返回 str2在str1的第一次地址 ,前提要str1中有str2(不包含\0)。 如果没有,则返回NULL. str2如果为空字符串(空字符串为“”,里面只有一个\0),则strstr返回str1字符串的首位元素地址。c语言规定的。 所以模拟实现为上述代码。 strtok 这个strtok函数本质太过复杂,这里就不模拟其函数和讲它的本质。就讲下他该如何用。 当我们要分割一个字符串时,就用strtok 。 上面的图也是一个例子去证明其perror作用 总结 这就是字符函数字符串函数。接下来下一篇将会讲内存函数 ,敬请期待,谢谢各位的支持!

    40910编辑于 2024-04-08
  • 来自专栏小点点

    (十)单行函数——字符串函数

    字符串函数 SELECT ASCII('Abcdfsf'), CHAR_LENGTH('hello'),CHAR_LENGTH('我们'), # 返回字符数 LENGTH('hello'),LENGTH SELECT INSERT('helloworld',2,3,'aaaaa'), # 从第二个字符串开始,把往后三个替换成'aaaa' REPLACE('hello','ll','mmm') # 把字符串中的 ; 运行结果如下所示: ---- SELECT LEFT('hello',2), # 取左边两个字符 RIGHT('hello',3), # 取右边三个字符 RIGHT('hello',13) FROM LENGTH(SPACE(5)),# 返回5个空格 STRCMP('abc','abe')# 比较大小 FROM DUAL; 运行结果如下所示: ---- SELECT SUBSTR('hello',2,2 dd,mm,gg') # 类似,就是字符串变成逗号隔开 FROM DUAL; 运行结果如下所示: ---- # 比较两个字符串,如果value1与value2相等,则返回NULL,否则返回value1

    57520编辑于 2022-12-12
  • 字符函数字符串函数

    1.字符分类函数 C语言中有一系列函数是专门做字符串分类的,也就是一个字符是属于什么类型的字符,这些函数的使用需要包含一个头文件ctype.h 我们介绍其中的一个函数,其余函数类似: int islower 6.strcmp函数的使用和模拟实现 //函数原型 int strcmp(const char* str1, const char* str2); 功能 :用来比较str1和str2指向的字符串,从两个字符串的第一个字符开始比较 //函数原型 int strncmp(const char* str1,const char* str2,size_t num); 功能:字符串的比较,比较str1和str2指向的两个字符串的内容,最多比较 char* str2); 功能:查找str2指向的字符串在str1指向的字符串中第一次出现的位置。 2. errnum 表示错误码,得到对应的错误信息,并且返回这 strerror 函数只针对标准库中的函数发⽣错误后设置的错误码的转换。

    20610编辑于 2025-12-30
  • 来自专栏绝活编程学习

    字符函数字符串函数

    前言 C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在常量字符串 中或者 字符数组中。 字符串常量 适用于那些对它不做修改的字符串函数 1. 函数介绍 1.1 strlen size_t strlen ( const char * str ); 字符串已经 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前面出现的字符个数 (注: strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容 并且可修改。) strtok函数的第一个参数不为 NULL ,函数将找到str中第一个标记,strtok函数将保存它在字符串 中的位置。 strtok函数的第一个参数为 NULL ,函数将在同一个字符串中被保存的位置开始,查找下一个标 记。 如果字符串中不存在更多的标记,则返回 NULL 指针。

    26210编辑于 2024-12-16
  • 来自专栏c++与qt学习

    strstr函数---字符串查找函数

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> //strstr字符串查找函数 void findStr() { //找到返回第一次查找到字符串的地址 //失败返回-1 char *pos=strstr(str, "so"); if (pos == NULL) { printf("字符串没有找到") ,用**代替 2.这里指定sb为不文明用语 注意中文和英文的区别 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h = NULL) { strncpy(result, "**", 2); p = result + 2; } else { break; } } printf("%s ; p = result + 2; } printf("%s", str); } int main() { findStr(); return 0; } ?

    1.7K10发布于 2021-03-02
  • 来自专栏转自CSDN

    字符函数字符串函数

    (const char * str);          字符串要以\0作为结束标志         参数主席昂的字符串必须要以\0结束         注意函数的返回值是size_t 是无符号         函数返回字符串str2字符串str1中第一次出现的位置         若没有就返回空指针 int main() { char arr1[] = "223 123 456"; char arr2[         第一个参数之地那个一个字符串,它包含了0个或者多个由sep字符串中的一个或多个分隔符分割的标记          strtok函数找到str中的下一个标记,并将其用\0结尾,返回一个只想找个标记的指针         strtok函数的第一个参数不为NULL,函数将找到str中第一个标记,strtok函数保存它在字符串中的位置.         strtok函数的第一个参数为NULL,函数将在同一个字符串中被保存的位置开始,查找下一个标记         如果字符串中不存在更多的标记,则返回NULL指针 int main() { char arr

    36610编辑于 2024-04-30
  • 来自专栏C/C++基础到进阶

    字符函数字符串函数

    字符函数字符串函数 字符函数分类 C语言有一些列函数用于对不同的字符进行分类,一个字符属于何种类型。以下函数都需要包含头文件 ctype.h。 str); 用于统计字符串个数,结束标志是 ’\0‘,在字符串里遇见这个字符’\0‘,就会结束函数调用,将统计的值返回。 若传递的字符串里没有以 ’\0‘结尾,那使用strlen函数就会越界访问非字符串的内容,直到碰见 ’\0‘才会停止。 由于传递的str字符串不能为空,也不期望在函数内对齐进行修改,这里使用了assert断言,及const修饰来限制了str字符串,使函数有更好的健壮性。 strcmp的使用和模拟实现 使用strcmp函数 函数原型: int strcmp(const char* str1, const char* str2); 是用来比较字符串大小的 比较对应位置字符的

    37510编辑于 2024-11-26
领券