pragma mark 字符串常用方法2
pragma mark 概念
/**
字符串連接函數(shù) strcat 、strncat(多了一個拼接的個數(shù))
字符串拷貝函數(shù) strcpy 、strncpy
字符串比較函數(shù) strcmy 、strncmy
*/
pragma mark 代碼
#include <stdio.h>
#include <string.h> // 字符串拼接、拷貝、比較、計(jì)算長度
int main()
{
#warning 字符串拼接 strcat函數(shù) strncat函數(shù)
/*
// 1.字符串拼接
// 拼接原理 : 首先遍歷第一個字符串, 直到遇到\0為止,然后取出第二個字符串中的字符,從\0的位置開始添加,添加完畢之后再最后面添加一個\0
char str1[7] = "lyh";
char str2[10] = " cool";
printf("拼接前 : %s\n",str1);
// strcat(dest, src)
// dest : 目標(biāo) src : 源
// 將src中的數(shù)據(jù)拼接到dest后面
// 注意 : 要向使用字符串拼接函數(shù),那么dest必須是一個數(shù)組,并且數(shù)組的長度必須大于拼接之后的長度\
如果dest數(shù)組的長度, 不能完全存放dest+src+\0 , 那么就會報(bào)錯
// strcat(str1, str2);
// char * 相當(dāng)于 dest
// const char * 相當(dāng)于 src
// size_t 需要拼接的個數(shù)
// 為了避免拼接之后超出str1的存儲范圍,那么可以動態(tài)計(jì)算str2需要拷貝幾個到str1后面不會超出
// str1能夠存放的元素個數(shù) - str已經(jīng)存放的個數(shù) - \0
size_t length = sizeof(str1) / sizeof(str1[0]) - strlen(str1) - 1; // 10 - 3
printf("length = %lu\n",length);
strncat(str1, str2, 2);
printf("拼接后 : %s\n",str1);
*/
#warning 字符串拷貝 strcpy、strncpy
/*
char str1[4] = "lyh";
char str2[] = "cool";
printf("拷貝前 str1 = %s\n",str1);
// char * 目標(biāo) const char * 源
// strcpy 函數(shù)會將源的數(shù)據(jù)拷貝目標(biāo)中,并且會覆蓋掉目標(biāo)中原有的數(shù)據(jù)
// 目標(biāo)的容積能夠存放拷貝的數(shù)據(jù),如果容積不夠會報(bào)錯
// strcpy(str1, str2);
// strncpy
// char * 相當(dāng)于 dest
// const char * 相當(dāng)于 src
// size_t 需要拷貝幾個
// 注意 : 拷貝做是逐個替換,拷貝了幾個就替換幾個
// str能夠存放元素的個數(shù) -1是給\0留出的位置
int length = sizeof(str1) / sizeof(str1[0]) - 1;
// printf("length = %i\n",length);
strncpy(str1, str2, length);
printf("拷貝后 str1 = %s\n",str1);
*/
#warning 字符串比較 strcmy、strncmy
char str1[] = "abb";
char str2[] = "abc";
// strcmp 他會對傳入的字符串進(jìn)行比較,比較完畢之后返回一個整型的值給我們
// 如果讀值等于0,那么證明兩個字符串相等
// 如果該值小于0,那么證明str1小于str2
// 如果該值大于0,那么證明str1大于str2
// strcmp 原理 : 取出字符串中的每一個字符進(jìn)行逐個比較,如果發(fā)現(xiàn)不想等就不會繼續(xù)往下比較
int res = strcmp(str1, str2);
printf("res = %i\n",res);
return 0;
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。