91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c語言的str函數怎么用

發布時間:2022-02-14 16:16:47 來源:億速云 閱讀:299 作者:iii 欄目:開發技術

這篇文章主要講解了“c語言的str函數怎么用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“c語言的str函數怎么用”吧!

strlen:

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

函數實現:

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

strcmp:

用于比較兩個字符串大小,注意大小并不是指字符串長度,而是從第一個字符開始比較,比較字符的大小。該函數返回的是一個int值,不同編譯器,返回的值是不一樣。但是正負是一致的,當第一個大于第二個,返回正值,小于則返回負值,相等返回0。

函數實現:

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

strcpy:

用于復制字符串。

函數實現:

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

strcat:

用于在目標字符串末尾追加一個字符串。

函數實現:

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

strstr:

用于在一個字符串內尋找另一個字符串。這于KMP算法有關。

函數實現:

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:

這個函數很有意思,它會把字符串的數字串轉化為int值。

函數實現:

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;
}

strncpystrncmpstrncat

三個函數都是限制了字符個數,功能是一樣的。

函數實現:

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);
}

感謝各位的閱讀,以上就是“c語言的str函數怎么用”的內容了,經過本文的學習后,相信大家對c語言的str函數怎么用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武宣县| 竹北市| 苏州市| 广安市| 中阳县| 普陀区| 大兴区| 北辰区| 镇宁| 崇信县| 茶陵县| 翁牛特旗| 静海县| 衡南县| 锡林郭勒盟| 平远县| 涞源县| 龙游县| 青龙| 嘉荫县| 合江县| 河间市| 双鸭山市| 盈江县| 永宁县| 汪清县| 浙江省| 肇庆市| 册亨县| 华蓥市| 沅陵县| 新邵县| 武冈市| 五大连池市| 仙居县| 红桥区| 茂名市| 孝昌县| 明水县| 台中县| 石首市|