cctype庫函式的作用

2021-07-01 19:51:11 字數 2915 閱讀 4837

1. string 標準庫

1.1初始化

string s1;

預設建構函式s1為空

string s2(s1);

將s2初始化為s1的乙個副本

string s3(「value」);

將s3初始化為乙個字串字面值副本

string s4(n,』c』);

將s4初始化為字元』c』的n個副本

string物件的賦值:賦值所做的工作:必須先將s1所佔的記憶體釋放掉,然後在分配足夠的記憶體,最後將新字串賦值到s1中;

string物件和字串字面值的連線:+操作符的左右運算元必須至少乙個是string型別的。如果試圖將兩個字串的字面值連線起來是不合法的。

string 型別通過下標操作符 來訪問string物件中的單個字元。

string物件中字元的處理(下表中的所有函式都在cctype標頭檔案中定義)

isalnum(c)

如果c是字母或數字,則返回true

isalpha(c)

如果c是字母,則返回true

iscntrl(c)

如果c是控制字元,則返回true

isdigit(c)

如果c是數字,則返回true

isgraph(c)

如果c不是空格,但可列印,則為true

islower(c)

如果c是小寫字母,則為true

isprint(c)

如果c是可列印字元,則為true

ispunct(c)

如果c是標點符號,則為true

isspace(c)

如果c是空白是否,則為true

isupper(c)

如果c是大寫字母,則為true

isxdigit(c)

如果c是十六進製制的數,則為true

tolower(c)

如果c是大寫字母,返回其小寫字母的形式,否則直接返回c

toupper(c)

如果c是小寫字母,返回其大寫字母的形式,否則直接返回c

空白字元是:空格、製表符、垂直製表符、回車符、換行符、進製符

標點符號:處數字、字母、可列印的空白符(空格)以外的其他字元。

建議:採用 c 標準庫標頭檔案的 c++ 版本

c++ 標準庫除了定義了一些選定於 c++ 的設施外,還包括 c 標準庫。 c++ 中的標頭檔案 cctype 其實就是利用了 c 標準庫函式,這些庫函式就

定義在 c 標準庫的 ctype.h 標頭檔案中。 

c 標準庫標頭檔案命名形式為 name 而 c++ 版本則命名為 cname ,少了 字尾,.h 而在頭檔名前加了 c 表示這個標頭檔案源自 c 標準庫。因此,

cctype 與 ctype.h 檔案的內容是一樣的,只是採用了更適合 c++程式 的形式。特別地,cname 標頭檔案中定義的名字都定義在命名空間 std 內,

而 .h 版本中的名字卻不是這樣。 

通常,c++ 程式中應採用 cname 這種標頭檔案的版本,而不採 用 name.h 版本,這樣,標準庫中的名字在命名空間 std 中保持一致。 使用 .h 版本會給程式設計師帶來負擔,因為他們必須記得哪些標準庫名字 是從 c 繼承來的,而哪些是 c++ 所特有的。 

2. 標準庫vector型別

vecto是同一種型別的物件集合,每個物件都有乙個對應的整數索引值,我們把vector成為容器。

#include

using std::vector;

vector是乙個類模板,使用模板可以編寫乙個類的定義或函式的定義,而用於多個不同的資料型別。

定義vectorivect

初始化vector

vectorv1

預設建構函式為空

vectorv2(v1)

v2是v1的乙個副本

vectorv3(n,i);

v3是包含n個值為i的元素

vectorv4(n)

v4含有值初始化的元素的n個副本

vector物件的重要屬性就是可以再執行的時候高效的新增元素。

vector物件的操作:

v.empty()

如果為空,則返回true,否則返回false

v.size()

返回v中元素的個數

v.push_back(t)

在v的末尾增加乙個值為t的元素

v[n]

返回v中位置為n的元素

v1=v2

把v1中的元素替換為v2中元素的副本

v1==v2

如果v1和v2相等,則返回true

!=,<,<=,>,>=

條件操作符

vector下標操作不新增元素。進能對已經存在的元素進行下標操作。

3.迭代器:是一種檢查容器內元素並遍歷元素的資料型別。每種容器型別都定義了自己的迭代器型別,如vector:

vector::iterator iter;

每種容器都有乙個begain和end的函式用於返回迭代器,如果容器中有元素的話,有begain返回迭代器指向的第乙個元素。由end操作返回迭代器指向vector的「末尾元素的下乙個」,如果vector為空,begain返回的迭代器和end返回的迭代器相同。由end操作返回的迭代器並不指向vector中的任何元素,相反,它只是起乙個哨兵(sentinel)的作用,表示我們已經處理完vector中的所有元素。迭代器的解引用操作符返回返回迭代器所指向的元素。迭代器的自增操作符是把容器中的迭代器向前移動乙個位置。迭代器的的操作== 和!=是比較兩個迭代器,如果兩個迭代器物件指向同乙個元素,則他們相同,否則就不相等。

const_interator 每種容器懂定義了一種名為const_interator的型別,該型別只能讀取容器內的元素,不能改變其值。他自身的值可以改變,但是其指向的元素的值是不能改變的。

迭代器的算術操作包括:iter+n   iter-n iter1-iter2

遺忘的cctype函式

date 2019 3 08 author tracycw description cctypeh函式 isalnum c 如果c是字母或數字,則為true isalpha c 如果c是字母,返回true iscntrl c 如果c是控制字元,返回true isdigit c 如果c是數字,返回tr...

CCTYPE函式系列

函式名稱 返回值isalnum 如果引數是字母數字,即字母或數字,該函式返回true isalpha 如果引數是字母,該函式返回真 isblank 如果引數是空格或水平製表符,該函式返回true iscntrl 如果引數是控制字元,該函式返回true isdigit 如果引數是數字 0 9 該函式返...

CCTYPE函式系列

include 的函式 c 中應該是 include c中應該是 include 以下為字元函式庫中常用的函式 函式名稱 返回值isalnum 如果引數是字母數字,即字母或數字,該函式返回true isalpha 如果引數是字母,該函式返回真 isblank 如果引數是空格或水平製表符,該函式返回t...