【C】strcpy函数

    xiaoxiao2023-10-28  34

    字符串函数

    2019/5.22

    strcpy

    用的最广大函数

    介绍: 作用是拷贝指针所指的内容拷贝到另一个空间

    定义 : char *strcpy( char *restrict dst,const char *restrict src ) emmmm定义可能有点难理解,也就是将src拷贝到dst,并且返回dst

    dst: 为拷贝到到的地方,类型为char (读写)

    src:为被拷贝的函数,为const类型(只读)

    条件:在c语言自带的函数库的函数,好像没什么条件地说( ̄▽ ̄)"

    #include<string.h>

    原理: 数组表示方法

    char *mycpy( cahr *dst, const char *src ) { int idx = 0; // 规定角标为零 while( src[idx] ) { // 当src[idx] !='\0'的时候 dst[idx] = src[idx]; idx++} dst[idx]= '\0' //最后的指针并未停留在‘\0’处 return dst; }

    指针原理:

    char *mycpy( cahr *dst, const char *src ) { int *ret = dst; //先记录一下dst最初的位置 while( dst[idx] ) { *dst = *src; *dst++; *src++; } *dst = '\0'; return ret; //返回的是ret,因为dst的位置已经变化 }

    其实还可以做一下优化

    *dst ++ = *src++

    来代替

    *dst = *src; *dst++; *src++;

    好了,巴拉巴拉了这么多,看一些究竟如何使用吧。

    #include<stdio.h> #include<string.h> int main( int argc, char *argv[] ) { char s1[] = "hello"; char s2[] = "world"; strcpy(s1,s2); return 0; }

    对了还有几个比较流行的骚操作

    char *dst = ( char *)malloc(strlen(src)+1); strcpy(dst,src)

    malloc: 动态分配一块内存 (strlen(src) +1): 为src的长度,注意要 +1 因为src最后的一位是’ \0’ 不算入长度的

    今天就写完了 (~ ̄▽ ̄)~ 等会 。。。。。 写一下小目标吧 先赚他一个亿!!!!

    Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 C 语言学习目标

    还不明白怎么玩写放着吧 明天继续

    最新回复(0)