strcpy和strncpy
生活随笔
收集整理的這篇文章主要介紹了
strcpy和strncpy
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
char * __cdecl strcpy(char * dst, const char * src)
{
??????? char * cp = dst;
??????? while( *cp++ = *src++ );
??????? return( dst );
}
strcpy
源字串全部拷貝到目標字串中,包括'\0',(但是程序員必須保證目標串長度足夠,且不與源串重疊)
strncpy
只拷貝指定長,源不足補\0;
如果目標長>=指定長>源長,則將源串全部拷貝到目標串,連同'\0'
如果指定長<源長,則將截取源串中按指定長度拷貝到目標字符串,不包括'\0'
如果指定長>目標長,錯誤!
//源 <= 目標
char*p="123456789";?
char name1[12]="aaaaaaaaaaa",
char name2[12]="bbbbbbbbbbb";
strcpy(name1,p);???
//遇空字符結束,結果追加1個空字符:123456789\0?
strncpy(name2,p,5);?
//若n>=源,則不足的部分填充\0,結果:123456789\0\0\0
??????? //若n<源例如=5,則只拷貝5個字符,結果:12345bbbbbb\0
總結
以上是生活随笔為你收集整理的strcpy和strncpy的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: malloc,calloc和reallo
- 下一篇: B树,B+树