C語言實現字串拷貝函式的幾種方法
字串拷貝的實現:
#include <stdio.h>
#include <assert.h>
void Mystrcpy1(char *des,const char *src)
{
assert(des != NULL && src != NULL);
if(des==NULL && src == NULL)
{
return;
}
int i;
for(i=0;*src!='\0';i++)
{
des[i]=src[i];
}
des[i]='\0';
}
void Mystrcpy2(char *des, const char *src)
{
assert(des != NULL && src != NULL);
if(des==NULL && src == NULL)
{
return;
}
while(*src!='\0')
{
*des=*src;
des++;
src++;
}
*des='\0';
}
void Mystrcpy3(char *des,const char *src)
{
assert(des != NULL && src != NULL);
if(des==NULL && src == NULL)
{
return;
}
while(*src!='\0')
{
*des++ = *src++;
}
*des='\0';
}
void Mystrcpy4(char *des,const char *src)
{
while(*des++ = *src++);//相當於while(*(des++)=*(src++));
}
char *Mystrcpy(char *des, char *src)
{
char *p=des;
while(*des++ = *src++);
return p;
}
int main()
{
char *str1 = "hello";
char str2[10];
Mystrcpy(str2,str1);
printf("%s\n",str2);
return 0;
}
列印結果:hello
相關文章
- 【JS】深拷貝與淺拷貝,實現深拷貝的幾種方法JS
- JS中的深淺拷貝以及實現深拷貝的幾種方法.JS
- C語言-字串函式的實現(五)之strstrC語言字串函式
- C語言-字串函式的實現(一)之strlenC語言字串函式
- 【C語言】常用的字串函式及相關函式的自我實現C語言字串函式
- JavaScript深拷貝的幾種方法JavaScript
- C++拷貝建構函式(深拷貝,淺拷貝)C++函式
- 淺談深拷貝與淺拷貝?深拷貝幾種方法。
- c語言與字串相關的庫函式的模擬實現C語言字串函式
- 模擬實現不受限制的字串函式--C語言版字串函式C語言
- C語言——常用標準輸入輸出函式 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字串拷貝函式 strcpy(), strncpy(), strchr(), strstr()函式用法特點C語言函式字串
- C語言相關的基礎字串函式C語言字串函式
- C 語言實現泛型 swap 函式泛型函式
- JavaScript實現淺拷貝的方法JavaScript
- c/c++ 拷貝控制 建構函式的問題C++函式
- C++拷貝建構函式詳解C++函式
- 建構函式,拷貝賦值函式的N種呼叫情況函式賦值
- C語言的函式C語言函式
- 淺拷貝與深拷貝的實現
- C++之Big Three:拷貝構造、拷貝賦值、解構函式探究C++賦值函式
- 深入剖析Linux IO原理和幾種零拷貝機制的實現Linux
- 使用splice函式實現0拷貝的回顯伺服器函式伺服器
- 實現物件淺拷貝、深拷貝物件
- C語言-記憶體函式的實現(二)之memmoveC語言記憶體函式
- C語言-記憶體函式的實現(一)之memcpyC語言記憶體函式memcpy
- C++中建構函式,拷貝建構函式和賦值函式的詳解C++函式賦值
- c++字串查詢函式實現C++字串函式
- js 深拷貝兩種方法JS
- C語言常用函式C語言函式
- C語言 execve()函式C語言函式
- js實現深拷貝和淺拷貝JS
- C語言函式sscanf()的用法C語言函式
- C語言qsort函式的使用C語言函式
- C語言函式指標與回撥函式使用方法C語言函式指標
- 三種方法實現strlen函式函式
- C語言之字串處理函式C語言字串函式
- 08. C語言函式C語言函式
- C語言 函式指標C語言函式指標
- C語言基礎函式C語言函式