本文主要是介绍c语言模拟实现strncpy、strncat、strncmp函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
c语言模拟实现strncpy、strncat、strncmp函数
分析
strncpy、strncat、strncmp函数与strcpy、strcat、strcmp函数非常相近,但是在str…函数里,它是用依据 \0 作为结束判断的,在一些情况下这是不安全,比如在strcat函数,我们给arr追加arr时,程序就会崩溃,所以用自身的长度来作为循环停止条件是不安全的。
于是就出现了一群“strn…”函数,他们在函数拷贝的过程中,将‘\0‘也拷贝出来,并且以’\0‘作为循环的终止条件,这样子就会避免程序找不到结束条件,自己崩溃的现象。
1.一个最常见的问题,就是strn…并不能帮你保证\0结束。
2.如果源的内容比较小,而 n 又比较大的话,strn将会把之间的空间都用 \0 填充。这又出现了一个效率上的问题。
strncpy
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>
char * my_strncpy(char* dest,c
这篇关于c语言模拟实现strncpy、strncat、strncmp函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!