最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一起來了解c語言的str函數(shù)

 更新時(shí)間:2022年02月14日 14:31:33   作者:roseisbule  
這篇文章主要為大家詳細(xì)介紹了c語言的str函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

strlen:

用于求字符串長度,從首字符開始,到'\0'結(jié)束,'\0'不計(jì)入總長度。

函數(shù)實(shí)現(xiàn):

size_t my_strlen(const char* ptr)
{
	assert(ptr);
	const char* ptx = ptr;
	while (*(++ptx));
	return (size_t)(ptx - ptr);
}

strcmp:

用于比較兩個(gè)字符串大小,注意大小并不是指字符串長度,而是從第一個(gè)字符開始比較,比較字符的大小。該函數(shù)返回的是一個(gè)int值,不同編譯器,返回的值是不一樣。但是正負(fù)是一致的,當(dāng)?shù)谝粋€(gè)大于第二個(gè),返回正值,小于則返回負(fù)值,相等返回0。

函數(shù)實(shí)現(xiàn):

int my_strcmp(const char* str1,const char* str2)
{
	assert(str1 && str2);
	while((!(*str1 - *str2)) && ((*(str1++)) * (*(str2++))));
	return (int)(*str1 - *str2);
}

strcpy:

用于復(fù)制字符串。

函數(shù)實(shí)現(xiàn):

char* my_strcpy(char* dest,const char* source)
{
	assert(dest && source);
	char* result = dest;
	while (*(dest++) = *(source++));
	return result;
}

strcat:

用于在目標(biāo)字符串末尾追加一個(gè)字符串。

函數(shù)實(shí)現(xiàn):

char* my_strcat(char* a, const char* b)
{
	assert(a && b);
	char* tmp = a;
	while (*(++a));
	while (*(a++) = *(b++));
	*a = '\0';
	return tmp;
}

strstr:

用于在一個(gè)字符串內(nèi)尋找另一個(gè)字符串。這于KMP算法有關(guān)。

函數(shù)實(shí)現(xiàn):

const char* my_strstr(const char* a, const char* b)//a為長字符串 b為短字符串
{
	char* cp = (char*)a;
	char* s1;
	char* s2;
	if (!*b)
		return a;
	while (*cp)
	{
		s1 = cp;
		s2 = (char*)b;
		while (*s1 && *s2 && !(*s1 - *s2))
		{
			s1++;
			s2++;
		}
		if (!*s2)
			return cp;
		cp++;
	}
	return NULL;
}

atoi:

這個(gè)函數(shù)很有意思,它會(huì)把字符串的數(shù)字串轉(zhuǎn)化為int值。

函數(shù)實(shí)現(xiàn):

int my_atoi(const char* str)
{
	assert(str);
	int num = 0;
	int result = 0;
	const char* tmp = str;
	while (*str && *str != '.')
	{
		num++;
		str++;
	}
	while (num--)
	{
		result += (*tmp - '0') * (int)pow(10, num);
		tmp++;
	}
	return result;
}

strncpy,strncmpstrncat

三個(gè)函數(shù)都是限制了字符個(gè)數(shù),功能是一樣的。

函數(shù)實(shí)現(xiàn):

char* my_strncpy(char* dest, const char* sou, size_t num)
{
	assert(dest && sou);
	char* tmp = dest;
	while ((num--) && (*(dest++) = *(sou++)));
	return tmp;
}
char* my_strncat(char* a, const char* b, int n) 
{
	assert(a && b);
	char* tmp = a;
	while (*(++a));
	while ((n--) && (*(a++) = *(b++)));
	*a = '\0';
	return tmp;
}
int my_strncmp(const char* str1, const char* str2,int n)
{
	assert(str1 && str2);
	while ((!(*str1 - *str2)) && ((*(str1++)) * (*(str2++))) && (n--));
	return (int)(*str1 - *str2);
}

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容! 

相關(guān)文章

  • 用C語言實(shí)現(xiàn)貪吃蛇小游戲

    用C語言實(shí)現(xiàn)貪吃蛇小游戲

    這篇文章主要為大家詳細(xì)介紹了用C語言實(shí)現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • C語言實(shí)現(xiàn)實(shí)時(shí)鐘表

    C語言實(shí)現(xiàn)實(shí)時(shí)鐘表

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)實(shí)時(shí)鐘表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C++實(shí)現(xiàn)LeetCode(17.電話號碼的字母組合)

    C++實(shí)現(xiàn)LeetCode(17.電話號碼的字母組合)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(17.電話號碼的字母組合),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++中的數(shù)字轉(zhuǎn)字符串to_string

    C++中的數(shù)字轉(zhuǎn)字符串to_string

    這篇文章主要介紹了C++中的數(shù)字轉(zhuǎn)字符串to_string,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • c++中用TINYXML解析XML文件

    c++中用TINYXML解析XML文件

    這篇文章主要介紹了c++中如何用TINYXML解析XML文件,文中案例非常詳細(xì),幫助大家更好的了解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 一篇文章帶你入門C語言:數(shù)組

    一篇文章帶你入門C語言:數(shù)組

    這篇文章主要介紹了C語言中數(shù)組的一些基本知識小結(jié),其中重點(diǎn)是對于數(shù)組的內(nèi)存分配相關(guān)方面的知識整理,需要的朋友可以參考下
    2021-08-08
  • C++特性:迭代器

    C++特性:迭代器

    這篇文章主要介紹了C++特性:迭代器,本文主要通過介紹迭代器,迭代器和指針的區(qū)別,容器迭代器的使用等方面,需要的朋友可以參考下
    2021-06-06
  • C/C++ Qt 自定義Dialog對話框組件應(yīng)用案例詳解

    C/C++ Qt 自定義Dialog對話框組件應(yīng)用案例詳解

    有時(shí)候我們需要一次性修改多個(gè)數(shù)據(jù),使用默認(rèn)的模態(tài)對話框似乎不太夠用,此時(shí)我們需要自己創(chuàng)建一個(gè)自定義對話框。這篇文章主要介紹了Qt自定義Dialog對話框組件的應(yīng)用,感興趣的同學(xué)可以學(xué)習(xí)一下
    2021-11-11
  • C++/Php/Python 語言執(zhí)行shell命令的方法(推薦)

    C++/Php/Python 語言執(zhí)行shell命令的方法(推薦)

    下面小編就為大家?guī)硪黄狢++/Php/Python 語言執(zhí)行shell命令的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • C++11智能指針之weak_ptr詳解

    C++11智能指針之weak_ptr詳解

    這篇文章主要介紹了 C++11智能指針之weak_ptr詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評論

乌拉特前旗| 嵊泗县| 通山县| 五莲县| 高邑县| 恩平市| 葵青区| 衡水市| 长岛县| 齐齐哈尔市| 桂平市| 威信县| 会泽县| 洛川县| 拉孜县| 莎车县| 苍梧县| 辽宁省| 故城县| 巴南区| 深州市| 浦县| 克什克腾旗| 游戏| 腾冲县| 台安县| 新平| 嘉黎县| 开平市| 拜城县| 舟山市| 广安市| 如皋市| 阿瓦提县| 惠水县| 广水市| 曲靖市| 同仁县| 荆门市| 昌黎县| 阿拉善右旗|