国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C語言:字符串函數(shù)的使用方法及模擬實現(xiàn)

這篇具有很好參考價值的文章主要介紹了C語言:字符串函數(shù)的使用方法及模擬實現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、strlen函數(shù)

size_t strlen ( const char * str );

strlen的模擬實現(xiàn):

方法一:計數(shù)器方式

int my_strlen(const char * str)
{
 int count = 0;
 assert(str);
 while(*str)
 {
 count++;
 str++;
 }
 return count;
}

方法二:指針-指針

int my_strlen(char *s)
{
 assert(str);
 char *p = s;
 while(*p != ‘\0’ )
 p++;
 return p-s;
}

?二、strcpy函數(shù)

 char* strcpy(char * destination, const char * source );

1.strcpy使用 :

1.1 strcpy只用于字符串復制,遇到‘\0’時停止,還會復制字符串的結(jié)束符'\0'; 所以源字符串必須 ? ? ? ? 以’\0’結(jié)束,也會將源字符串的’\0’拷貝到目標空間。
1.2 目標空間必須可變。
1.3 如果參數(shù)dest所指的內(nèi)存空間不夠大,可能會造成緩沖溢出的錯誤情況,在編寫程序時需特別 ? ? ? 留意,或者用strncpy()來代替。

strcpy的模擬實現(xiàn):

void my_strcpy(char* p1,  char* p2)
{
	while (*p2 != '\0')
	{
		*p1 = *p2;
		p1++;
		p2++;
	}
	*p1 = *p2;
}
int main()
{
	char arr1[] = "hello";
	char arr2[] = "pppp";
	my_strcpy(arr1, arr2);
	printf("%s\n", arr1);
	return 0;
}

三、strcat 函數(shù)

1.stract使用 :

1.1 源字符串必須以 '\0' 結(jié)束。

1.2 ?標字符串中也得有 \0 ,否則沒辦法知道追加從哪?開始。

?1.3 ?標空間必須有?夠的?,能容納下源字符串的內(nèi)容。

2.stract的模擬實現(xiàn):

char * my_strcat(char* p,const char* t)
{
	assert(p && t);
	char* ret = p;
	while (*p != '\0')
	{
		p++;
	}
	while (*p++ != *t++)
	{
		;
	}
	return ret;
}
int main()
{
	char arr1[20] = "hello";
	char arr2[] = "bit";
	char* s = my_strcat(arr1, arr2);
	printf("%s\n", arr1);
	printf("%s\n",s);
	return 0;
}

四、strcmp函數(shù)

1.?strcmp的使用:

1.1作用:比較兩個字符串的大小。

1.2規(guī)則:

第?個字符串?于第?個字符串,則返回?于0的數(shù)字 。

第?個字符串等于第?個字符串,則返回0 。

第?個字符串?于第?個字符串,則返回?于0的數(shù)字。

2.strcmp的模擬實現(xiàn):

int my_strcmp(const char* str1, const char* str2)
{
	assert(str1 && str2);
	while (*str1 == *str2)
	{
		if (*str1 == '\0')
		{
			return 0;
			str1++;
			str2++;
		}
	}
	return *str1 - *str2;
}
int main()
{
	char arr1[] = "abcd";
	char arr2[] = "abc";
	int ret = my_strcmp(arr1, arr2);
	printf("%d", ret);
	return 0;
}

五、strncpy函數(shù)

 char * strncpy ( char * destination, const char * source, size_t num );

1.strncpy的使用:

1.1作用:拷?多少字符從源字符串到?標空間。

1.2代碼實現(xiàn):

C語言:字符串函數(shù)的使用方法及模擬實現(xiàn),c語言,開發(fā)語言?

六、strncat函數(shù)?

char * strncat ( char * destination, const char * source, size_t num );

?1.strncat的使用:

1.1使用規(guī)則:

strncat()用來連接源字符串的前n個字符到目標字符串后,所以要多傳一個參數(shù)n。

1.2代碼實現(xiàn):

C語言:字符串函數(shù)的使用方法及模擬實現(xiàn),c語言,開發(fā)語言

七、strncmp函數(shù)

int strncmp ( const char * str1, const char * str2, size_t num );

?1.strncmp的使用:

1.1作用:?較str1和str2的前num個字符。

1.2使用規(guī)則:如果相等就繼續(xù)往后?較,最多?較num個字?,如果提前發(fā)現(xiàn)不? 樣,就提前結(jié)束,?的字符所在的字符串?于另外?個。如果num個字符都相等,就是相等返回0。

1.3代碼實現(xiàn):

C語言:字符串函數(shù)的使用方法及模擬實現(xiàn),c語言,開發(fā)語言

八、strstr函數(shù)

 char * strstr ( const char * str1, const char * str2);

1.strstr函數(shù)的使用:

?1.1作用:用于判斷字符串str2是否是str1的子串。

2.strstr的模擬實現(xiàn):

char* my_strstr(const char* str1, const char* str2)
{
	const char* s1 = NULL;
	const char* s2 = NULL;
	const char* cur = str1;
	if (*str2 == '\0')
		return (char*)str1;
	while (*cur)
	{
		s1 = cur;
		s2 = str2;
		while (*s1 != '\0' && *s2 != '\0' && *s1 == *s2)
		{
			s1++;
			s2++;
		}
		if (*s2 == '\0')
		{
			return(char*)cur;
		}
		cur++;
	}
	return NULL;
}
int main()
{
	char arr1[] = "abcdjskc";
	char arr2[] = "cjss";
	char* ret = my_strstr(arr1, arr2);
	if (ret == NULL)
	{
		printf("找不到\n");
	}
	else
		printf("%s\n", ret);
	return 0;
}

九、strtok函數(shù)

char * strtok ( char * str, const char * sep);

1.strtok函數(shù)使用的代碼實現(xiàn):

#include <stdio.h>
#include <string.h>
int main()
{
 char arr[] = "95.5.4.5@111";
 char* sep = ".@";
 char* str = NULL;
 for (str = strtok(arr, sep); str != NULL; str = strtok(NULL, sep))
 {
 printf("%s\n", str);
 }
 return 0;
}

?十、strerror函數(shù)

char * strerror ( int errnum );

1.strerror函數(shù)的使用:

1.1作用:將代碼錯誤出直接打印出來。

1.2代碼實現(xiàn):

C語言:字符串函數(shù)的使用方法及模擬實現(xiàn),c語言,開發(fā)語言

希望能對大家有所幫助!?。。?

C語言:字符串函數(shù)的使用方法及模擬實現(xiàn),c語言,開發(fā)語言

?文章來源地址http://www.zghlxwxcb.cn/news/detail-857735.html

?

到了這里,關(guān)于C語言:字符串函數(shù)的使用方法及模擬實現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • C語言【幾個關(guān)于字符串/字符的函數(shù)的使用】

    關(guān)于++,編譯器會作一些處理(根據(jù)編譯器不同),如下為gcc編譯出來的結(jié)果:

    2024年02月05日
    瀏覽(15)
  • 如何使用 Java 將 JSON 文件讀取為字符串?這三種方法很管用!

    如何使用 Java 將 JSON 文件讀取為字符串?這三種方法很管用!

    JSON (JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,它可以用來存儲和傳輸結(jié)構(gòu)化的數(shù)據(jù)。在 Java 中,有多種方法可以將 JSON 文件讀取為字符串,本文將介紹其中的幾種。 java.io 包中提供了一些類,如 FileReader、BufferedReader、InputStreamReader 等,可以用來讀取文件的內(nèi)容。

    2024年02月01日
    瀏覽(24)
  • C語言所有字符串函數(shù)舉例如何使用

    strcpy: 將一個字符串復制到另一個字符串中 strcat: 將一個字符串連接到另一個字符串的末尾 strlen: 返回字符串的長度 strcmp: 比較兩個字符串 strchr: 在字符串中查找特定字符 這些都是C語言中常用的字符串函數(shù)的例子,它們可以幫助處理和操作字符串。

    2024年01月18日
    瀏覽(23)
  • Python高頻面試題——如何在字符串中刪除指定字符,掌握strip()、replace()和re.sub ()正確使用方法!

    Python高頻面試題——如何在字符串中刪除指定字符,掌握strip()、replace()和re.sub ()正確使用方法!

    關(guān)于python刪除字符串是面試python測試開發(fā)工程師的一個經(jīng)典問題。問題很簡單,但是一下子就能測試出來被面試者是否能夠熟練的進行python相關(guān)編碼工作! 對于有些臨時抱佛腳的同學來講,一看刪除,很自然就說用remove 、del相關(guān)方法,聽到這里,就知道面試者根本不知道這

    2024年02月08日
    瀏覽(30)
  • 【c語言:常用字符串函數(shù)與內(nèi)存函數(shù)的使用與實現(xiàn)】

    【c語言:常用字符串函數(shù)與內(nèi)存函數(shù)的使用與實現(xiàn)】

    簡介:本篇文章是對C語言中常用的字符串函數(shù)和內(nèi)存函數(shù)的學習以及模擬實現(xiàn) 文檔內(nèi)容來自:https://legacy.cplusplus.com/ 字符串以 ‘\\0’ 作為結(jié)束標志, strlen函數(shù)返回的是在字符串中 ‘\\0’ 前?出現(xiàn)的字符個數(shù)( 不包含 \\\'\\0\\\' )。 參數(shù)指向的字符串必須要以 ‘\\0’ 結(jié)束。 注意函

    2024年02月04日
    瀏覽(22)
  • 【微信小程序】使用 JSON.parse 方法將返回的 JSON 字符串解析為對象

    在微信小程序中,你可以使用 JSON.parse 方法將返回的 JSON 字符串解析為對象。以下是實現(xiàn)類似功能的示例代碼: 在上述代碼中,我們使用 JSON.parse 方法將返回的 JSON 字符串解析為對象。然后,我們可以通過點語法或方括號語法訪問解析后的對象的屬性,例如 data.result 。 請注

    2024年02月15日
    瀏覽(20)
  • 【C語言】——字符串函數(shù)的使用與模擬實現(xiàn)(上)

    【C語言】——字符串函數(shù)的使用與模擬實現(xiàn)(上)

    ??在我們學習 C語言 的過程中,對 庫函數(shù) 的使用是必不可少的。其中,相信大家最熟悉的就是 s t d i o . h stdio.h s t d i o . h 中的 p r i n t print p r in t 和 s c a n f scanf sc an f 函數(shù)了吧。 ??但是今天,我們不講他們(太難了,嗚嗚嗚),今天我們來講與字符串相關(guān)的函數(shù),也就

    2024年04月26日
    瀏覽(25)
  • 【C語言】深入精講字符串處理函數(shù)使用與優(yōu)化

    【C語言】深入精講字符串處理函數(shù)使用與優(yōu)化

    目錄 一、字符串處理函數(shù) 1、測量字符串的長度 strlen 2、字符串拷貝函數(shù)?strcpy/strncpy(拷貝前n個字符) ?3、字符串追加函數(shù)strcat/strncat 4、字符串比較函數(shù)strcmp ?5、字符查找函數(shù)strchr/strrchr ?6、字符串查找strstr 7、字符串替換函數(shù)memset 8、字符串 切割?strtok ?二、字符串轉(zhuǎn)數(shù)值

    2024年02月17日
    瀏覽(30)
  • C語言【幾個關(guān)于字符串/字符的函數(shù)的使用、幾個特殊的++】

    關(guān)于++,編譯器會作一些處理(根據(jù)編譯器不同),如下為gcc編譯出來的結(jié)果:

    2024年02月05日
    瀏覽(20)
  • ?【C語言】長篇詳解,字符系列篇3-----strstr,strtok,strerror字符串函數(shù)的使用【圖文詳解?】

    ?【C語言】長篇詳解,字符系列篇3-----strstr,strtok,strerror字符串函數(shù)的使用【圖文詳解?】

    歡迎來CILMY23的博客喔,本期系列為?【C語言】長篇詳解,字符系列篇3-----strstr,strtok,strerror字符串函數(shù)的使用【圖文詳解?】,圖文講解各種字符串函數(shù),帶大家更深刻理解C語言中各種字符串函數(shù)的應(yīng)用,感謝觀看,支持的可以給個贊哇。? 前言 上一篇說到,有不受長度限

    2024年02月22日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包