標準庫型別基礎(1)— string
0、都已包含響應庫函式並已進行using宣告。
1、string初始化
string s1; //預設建構函式,s1為空字串
string s2(s1); //將s2初始化為s1的一個副本
string s3("value"); //將s3初始化為一個字串字面值副本
string s4(n,'c'); //將s4初始化為字元‘c’的n個副本
警告:字串字面值與標準庫string型別不是同一種類型。
2、string物件的讀寫
-
讀取並忽略開頭所有的空白字元(如空格,換行符,製表符)。
-
讀取字元直至再次遇到空白字元,讀取終止。
2.1 讀取未知數目的string物件
int main()
{
string word;
while(cin>>word)
cout<<word<<endl;
return 0;
}
當鍵入Ctrl-z時,跳出讀取迴圈。
2.2 用getline讀取正行文字
這個函式接受兩個引數:一個輸入流物件和一個string物件。讀取輸入流到換行符的位置,將之前的讀取的內容儲存到string物件中。
string line;
getline(cin,line);
3、string的物件操作
3.1 size和empty操作
size函式返回string中字元的個數,包含換行符。empty函式返回為bool值,如果物件為空則返回true,否則返回false。
string st("value\n");
cout<<st.size()<<endl; //size = 6
3.2 string::size_type型別
string物件中返回的一種配套型別,本質一般是unsigned。但是為了與硬體無關,設定了這個型別。值得注意的是,相關操作必須是這個型別,特別重要的是,一定不要使用int型別。
3.3 關係操作符
關係操作符==,<,<=,>,>=分別用來測試物件是否相等,小於(等於),大於(等於)。返回值是bool值。
-
比較的是字元的ASCII碼。
-
相等是長度和內容都相同。
-
如果長度不同,但是短的和長的前部分匹配,則短的小於長的。
-
如果兩個string物件的字元不同,則比較第一個不匹配的字元。
string s1="hello";
string s2="hello world";
string s3="Hello";
string s4="hiya";
//s3<s1<s2<s4
3.4 賦值,相加(連線)
但要注意的是兩個字串字面值不能相加(連線)。
string s1="hello";
string s2="world";
string s3=s1+" "+s2; //ok,"hello world"
string s4="hello"+" "+s2; //error.兩個字串字面值不能相加
string s5=s1+" "+"world"; //ok
3.5 從string物件中獲取字元
通常使用下標或索引。下標操作符是一個size_type型別的值。並且可用作左值。
string st("value");
cout<<st[0]<<endl; //ok
cout<<st[5]<<endl; //error
st[1]='*'; //ok,a->*
3.6 string物件中字元的處理
在cctype標頭檔案中定義了很多函式。可以對string物件中的單個字元進行處理。
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.
ispace(c) //如果c是空白字元,則為true.
isupper(c) //如果c是大寫字母,則為true.
isxdigit(c) //如果c是十六進位制數,則為true.
tolower(c) //如果c是大寫字母,則返回其小寫字母形式,否則直接返回c.
toupper(c) //如果c是小寫字母,則返回其大寫字母形式,否則直接返回c.
相關推薦
標準庫型別基礎(1)— string
0、都已包含響應庫函式並已進行using宣告。 1、string初始化 string s1; //預設建構函式,s1為空字串 string s2(s1); //將s2初始化為s1的一個副本 stri
Python基礎(1):基本資料型別及變數
資料型別: 包括整形,長整型(Python 3不支援),浮點型,複數。 type()方法可以檢視變數型別。 整形範圍:-2^32——2^32-1 長整型範圍:取決於你的機器所支援的記憶體大小。 (Python3中整形和長整型已無縫結合,整形範圍已不受限制,相當於Java中的BigInt
Java基礎(1)-資料型別
越努力越幸運 一.java的基本資料型別 short byte char int double float long boolean 面試官:int是多少位元組? 答:4個位元組。 面試官:那int在32位的jvm中是多少位元組,int在64位的j
Java基礎總結(1)——String, StringBuffer and StringBuilder
String, StringBuffer and StringBuilder用法總結 1. 可變性 String不可變 StringBuffer 和 StringBuilder 可變 原因如下: String類中使用final關鍵字字元陣列儲存字串,priv
C++基礎:C++標準庫之棧(stack)和佇列(queue)
在C++標準庫(STL)中,實現了棧和佇列,方便使用,並提供了若干方法。以下作簡要介紹。 1、棧(stack)說明及舉例: 使用棧,要先包含標頭檔案 : #include<stack> 定義棧,以如下形式實現: stack<Type> s; 其中Ty
Java列舉型別入門(1)_基礎理解,其他看不懂。
看到視訊,教程解釋不是很詳細。 找的基礎解釋。找到的其他例子都是直接例子,無解釋。。還是這個比較容易看懂。 搬過來。。。 原文:51CTO 我居然從頭看完了。。方便理解 關於引數,也有其他的文章。 Tiger中的一個重要新特性是列舉構造,它是一種新的Java列舉型別,允
Redis常用命令(1)String型別
一、相關命令列表說明: 命令原型 時間複雜度 命令描述 返回值 ————————String型別—————– APPEND key value 如果該Key已經存在,APPEND命令將
javascript 面向對象基礎 (1)
ron str strong bsp rip spa pro type 通過 常見的創建對象的方式有3種: ① 聲明變量的方式 var obj1 = { key1: "val1", key1: "val2", show: function () { conso
java基礎(1)
span 類名 什麽是 編程語言 ati png {} 編程 企業 一、 什麽是java,它包含哪些技術 1、 java是一種面向對象的高級編程語言 2、 java包括 a) javase(java基礎) b)
實習培訓——Java基礎(1)
string 關系 size 它的 對象 main 字符 發現 src 實習培訓——Java基礎(1) 1、我的第一個JAVA程序 首先好配置好JDK環境,百度上有很多。創建文件HelloWorld.java(文件名與類名相同),代碼如下: public class He
網絡基礎(1)
網絡 協議 :協議就是指網絡通信時所遵循的規則和約定。服務:每個協議規定了一種網絡功能, 這種功能又稱服務,即每個協 議 都對用戶提供了一種服務。如 http協議為用戶提供了瀏覽web頁面 的功能,也就是提供了web瀏覽服務。主機(host ):連接到網絡的所有計算機統稱主機。主機分為兩種(或者說是
Python基礎(1):基本運算符
src com .com strong images http es2017 image 1-1 1. 算數運算: 2. 比較運算 3. 賦值運算 4. 邏輯運算 5. 成員運算 Python基礎(1):基本運算符
python基礎(1)
pythonpython是可執行程序,必須聲明解釋器1.python腳本解釋器指定的兩種方法:#!/usr/bin/env python 查找環境變量下的py文件#!//usr/bin/python 查找bin目錄下的py文件2.什麽是UTF-8?UTF-8是世界通用的語言編碼,在程序的首行加上
自興人工智能-------------Python入門基礎(1)
bsp 編寫 意思 ctr 是否 比較運算符 -h name 字符串 Python 是一門簡單易學且功能強大的編程語言。 它擁有高效的高級數據結構, 並且能夠用簡單而又高效的方式進行面向對象編程。 Python 優雅的語法和動態 類型,再結合它的解釋性,使其在大多數平臺的許
C#基礎(1)
文檔 使用 忽略大小寫 read fault else ogr subst itop 摘要:學習c#已經有一段歷程了,回顧之前所打過的代碼以及筆記,做些常用的總結,希望以後工作中如果用到,方便查找。當然,個人首要目的是這樣,加深印象的同時,可以練習一下打字速
軟件測試基礎(1)
基本 健壯性 項目開發 gin 同時 clas wid 叠代 積極 目錄 l 軟件測試基礎 l 掌握軟件測試相關的概念 l 掌握軟件生命周期以及各階段相關的工作 l 掌握測試的對象和原則 l 了解軟件開發模型 l 掌握軟件測試模型及各模型的特點 l 掌握軟件測試的方法和類型
python全棧開發之Python基礎(1)
python 基礎一、 基礎知識 python的運行方式有兩種: 第一種通過交互式的運行方式,通過 "開始"—>"所有程序" —> "python3.x" —>"IDLE" 運行。 第二種是我們寫好的Pyth
數據結構基礎(1)--數組C語言實現--動態內存分配
ins post cli itl ini sem pri 應該 insert 數據結構基礎(1)--數組C語言實現--動態內存分配 基本思想:數組是最常用的數據結構,在內存中連續存儲,可以靜態初始化(int a[2]={1,2}),可以動態初始化 malloc()。
外部數據庫驅動程序(1)中的意外錯誤
器) 服務器 html 初步 作用 選擇 不能 class 微軟補丁 原文:用友u8各版本在輸出的時候報錯提示:外部數據庫驅動程序(1)中的意外錯誤 ,報錯內容“外部數據庫驅動程序(1)中的意外錯誤”,經初步分析有以下解決方案:1、卸載微軟的補丁:
Golang內建庫學習筆記(1)
type 學習筆記 res 利用 pos ring 類型 sso 最小 sort庫 利用sort.Sort進行排序須實現如下接口 type Interface interface { // 獲取數據集合元素個數 Len() int