亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語(yǔ)言中有哪些字符處理函數(shù)你知道嗎

 更新時(shí)間:2022年03月14日 11:12:20   作者:我要出家當(dāng)?shù)朗? 
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言字符處理函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助

1、字符串常用操作:連接、拷貝、比較 與 獲取長(zhǎng)度

include <string.h>
/*
    將字符串 str2 連接到 str1 的末端,并返回指針 str1
*/
char *strcat( char *str1, const char *str2 )
/*
    將字符串 str2 中至多count個(gè)字符連接到字符串 str1 中,并追加空值結(jié)束符。
    返回處理完成的字符串。
*/
char *strncat( char *str1, const char *str2, size_t count );
/*
    返回一個(gè)指向 str 中 ch 首次出現(xiàn)的位置指針,
    當(dāng)沒(méi)有在 str 中找到 ch 則返回NULL。
*/
char *strchr( const char *str, int ch )
/*
    函數(shù)返回一個(gè)指針,它指向字符 ch 在字符串 str 末次出現(xiàn)的位置,
    如果匹配失敗,返回 NULL。
*/
char *strrchr( const char *str, int ch );
/*
    比較字符串 str1 與 str2。如果兩個(gè)字符串相等則返回 0;
    該函數(shù)的將兩個(gè)字符串按位進(jìn)行比較(字符的Ascall值),
    當(dāng)遇到不相等位時(shí)返回結(jié)果。
*/
int strcmp( const char *str1, const char *str2 )
/*
    比較字符串 str1 和 str2 中至多 count 個(gè)字符。
*/
int strncmp( const char *str1, const char *str2, size_t count );
/*
    將字符串 src 中所有字符賦值到字符串 dst,包括空值結(jié)束符。
    返回值為指針dst。
*/
char *strcpy( char *dst, const char *src)
/*
    將字符串 src 中至多 count 個(gè)字符復(fù)制到字符串 dst 中。
    如果字符串 src 的長(zhǎng)度小于count,其余部分用 '\0' 填補(bǔ)。
    返回處理完成的字符串。
*/
char *strncpy( char *dst, const char *src, size_t count );
/*
    函數(shù)返回字符串 str 的長(zhǎng)度( 即空值結(jié)束符之前字符數(shù)目)。
*/
size_t strlen( char *str )

2、mem_類(lèi)的函數(shù)(查找、比較、拷貝 與 賦值)

mem_類(lèi)的函數(shù)與str_的函數(shù)使用起來(lái)的最大區(qū)別在于,mem_類(lèi)函數(shù)不限制數(shù)據(jù)類(lèi)型,直接在內(nèi)存上進(jìn)行操作,使用起來(lái)更強(qiáng)大與靈活。

#include <string.h>
/*
    函數(shù)在 buffer 指向的數(shù)組的 count 個(gè)字符的字符串里查找ch 首次出現(xiàn)的位置。
    返回一個(gè)指針,指向 ch 在字符串中首次出現(xiàn)的位置, 
    如果ch 沒(méi)有在字符串中找到,返回 NULL。
*/
void *memchr( const void *buffer, int ch, size_t count );
/*
    函數(shù)比較 buffer1 和 buffer2 的前 count 個(gè)字符。
*/
int memcmp( const void *buffer1, const void *buffer2, size_t count );
/*
    函數(shù)從from中復(fù)制count 個(gè)字符到to中,并返回to指針。 
    如果 src和 dst 指向的內(nèi)存空間有重疊,函數(shù)行為不確定。
*/
void *memcpy( void *dst, const void *src, size_t count );
/*
    函數(shù)拷貝 ch 到 buffer 從頭開(kāi)始的 count 個(gè)字符里, 并返回buffer指針。
     memset() 可以應(yīng)用在將一段內(nèi)存初始化為某個(gè)值。
*/
void *memset( void *buffer, int ch, size_t count );

3、尋找字符串子串

/*
    函數(shù)返回一個(gè)指針,它指向字符串 str2 首次出現(xiàn)于字符串 str1 中的位置,
    如果沒(méi)有找到,返回 NULL。
*/
char *strstr( const char *str1, const char *str2 )

示例

#include <stdio.h>
#include <string.h>
int main(void)
{
	char strA[20] = "hello world!", strB[20] = "world";
	char *tmp = strstr(strA, strB); 
	// (world!)
	printf("(%s)\n", tmp);
	return 0;
} 

4、字符串轉(zhuǎn)數(shù)字

#include <stdlib.h>
/*
    將字符串 str 表示浮點(diǎn)數(shù)(帶符號(hào))轉(zhuǎn)換為 double 類(lèi)型,
    end 指針如果不為空則用于接收 str 去掉浮點(diǎn)數(shù)字符串后剩下的字符串。
*/
double strtod( const char *str, char **end )
/*
    字符串轉(zhuǎn)長(zhǎng)整形,base代表采用的進(jìn)制
    如果返回值無(wú)法用長(zhǎng)整型表示,函數(shù)則返回LONG_MAX或LONG_MIN. 
    錯(cuò)誤發(fā)生時(shí),返回零。
*/
long strtol( const char *str, char **end, int base )
/*
    字符串轉(zhuǎn)無(wú)符號(hào)長(zhǎng)整形數(shù)
*/
unsigned long strtoul( const char *str, char **end, int base )
/*
    將字符串str轉(zhuǎn)換成一個(gè)雙精度數(shù)值并返回結(jié)果。 
    參數(shù)str 必須以有效數(shù)字開(kāi)頭
    允許以“E”或“e”除外的任意非數(shù)字字符結(jié)尾。
*/
double atof( const char *str )
/*
    將字符串str轉(zhuǎn)換成一個(gè)整數(shù)并返回結(jié)果。
    參數(shù)str 以數(shù)字開(kāi)頭,
    當(dāng)函數(shù)從str 中讀到非數(shù)字字符則結(jié)束轉(zhuǎn)換并將結(jié)果返回。
*/
double atoi( const char *str )
/*
    將字符串轉(zhuǎn)換成長(zhǎng)整型數(shù)并返回結(jié)果。
    函數(shù)會(huì)掃描參數(shù)str字符串,跳過(guò)前面的空格字符,直到遇上數(shù)字或正負(fù)符號(hào)才開(kāi)始做轉(zhuǎn)換,
    而再遇到非數(shù)字或字符串結(jié)束時(shí)才結(jié)束轉(zhuǎn)換,并將結(jié)果返回。
*/
double atol( const char *str )

5、數(shù)字轉(zhuǎn)字符串 

#include <stdio.h>
int main(void)
{
	int num = 199;
	char str[20] = "";
	sprintf(str, "%d", num);
	// (199)
	printf("(%s)\n", str); 
	return 0;
} 

示例 

#include <stdio.h>
int main(void)
{
	int num = 199;
	char str[20] = "";
	sprintf(str, "%d", num);
	// (199)
	printf("(%s)\n", str); 
	return 0;
} 

6、分隔符分割字符串

char *strtok( char *str1, const char *str2 )

示例 

#include <stdio.h>
#include <string.h>
int main(void)
{
	char str[20] = "ABC|EDF|GH";
	char tmp[] = "|", *res = NULL;
	res = strtok(str, tmp);
	// (ABC) (EDF) (GH)
	while(res != NULL)
	{
		printf("(%s) ", res);
		res = strtok(NULL, tmp);
	}
	return 0;
} 

7、大小寫(xiě)字母判別與轉(zhuǎn)換

#include <ctype.h>
// 是否是數(shù)字字符
int isdigit( int ch )
// 是否是字母字符
int isalpha( int ch )
// 是否是小寫(xiě)字母
int islower( int ch )
// 轉(zhuǎn)小寫(xiě)字母
int tolower( int ch )
// 是否是大寫(xiě)字母
int isupper( int ch );
// 轉(zhuǎn)大寫(xiě)字母
int toupper( int ch )

總結(jié)

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

相關(guān)文章

  • 深入解析C++11?lambda表達(dá)式/包裝器/線程庫(kù)

    深入解析C++11?lambda表達(dá)式/包裝器/線程庫(kù)

    這篇文章主要介紹了C++11?lambda表達(dá)式/包裝器/線程庫(kù)的相關(guān)知識(shí),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • C++設(shè)計(jì)模式之觀察者模式(Observer)

    C++設(shè)計(jì)模式之觀察者模式(Observer)

    這篇文章主要為大家詳細(xì)介紹了C++設(shè)計(jì)模式之觀察者模式Observer,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • C語(yǔ)言庫(kù)的封裝和使用方法總結(jié)

    C語(yǔ)言庫(kù)的封裝和使用方法總結(jié)

    在編程的過(guò)程中,使用已經(jīng)封裝好的庫(kù)函數(shù)是十分方便的,也是十分高效的,這篇文章主要給大家介紹了關(guān)于C語(yǔ)言庫(kù)的封裝和使用的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • C語(yǔ)言規(guī)律循環(huán)累加求和案例

    C語(yǔ)言規(guī)律循環(huán)累加求和案例

    這篇文章主要介紹了C語(yǔ)言規(guī)律循環(huán)累加求和案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • 深入聊聊C語(yǔ)言中的Const關(guān)鍵字

    深入聊聊C語(yǔ)言中的Const關(guān)鍵字

    關(guān)鍵字const用來(lái)定義只讀變量,被const定義的變量它的值是不允許改變的,即不允許給它重新賦值,即使是賦相同的值也不可以,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中Const關(guān)鍵字的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • C語(yǔ)言 結(jié)構(gòu)體和指針詳解及簡(jiǎn)單示例

    C語(yǔ)言 結(jié)構(gòu)體和指針詳解及簡(jiǎn)單示例

    本文主要介紹C語(yǔ)言 結(jié)構(gòu)體和指針,這里整理了相關(guān)資料,并附示例代碼和實(shí)現(xiàn)結(jié)果,以便大家學(xué)習(xí)參考,希望能幫助學(xué)習(xí)C語(yǔ)言的朋友
    2016-08-08
  • qt中 painter 的用法及原理示例詳解

    qt中 painter 的用法及原理示例詳解

    QPainter是Qt的一個(gè)繪圖類(lèi),它的主要任務(wù)是在繪圖設(shè)備上進(jìn)行2D圖形渲染,這篇文章主要介紹了qt中 painter 的用法以及原理,需要的朋友可以參考下
    2023-07-07
  • C++ 異常的詳細(xì)介紹

    C++ 異常的詳細(xì)介紹

    這篇文章主要介紹了C++ 異常的詳細(xì)介紹的相關(guān)資料,希望通過(guò)本文大家能夠掌握C++異常的使用方法,需要的朋友可以參考下
    2017-09-09
  • C語(yǔ)言中的while循環(huán)語(yǔ)句示例詳解

    C語(yǔ)言中的while循環(huán)語(yǔ)句示例詳解

    這篇文章主要介紹了C語(yǔ)言中的while循環(huán)語(yǔ)句,主要包括while循環(huán)的基本信息及常見(jiàn)問(wèn)題,本文結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • C++簡(jiǎn)單實(shí)現(xiàn)的全排列算法示例

    C++簡(jiǎn)單實(shí)現(xiàn)的全排列算法示例

    這篇文章主要介紹了C++簡(jiǎn)單實(shí)現(xiàn)的全排列算法,結(jié)合實(shí)例形式分析了C++排序操作的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-07-07

最新評(píng)論