常用函數
- 一、字母 數字常用函數
- 二、讀取資料
- 其他常用函數
一、字母 數字常用函數
- 判斷字元是字母 或 數字
包含頭檔案 #include ,可以直接使用
功能 | 函數名稱 | 傳回值 |
---|---|---|
是否為小寫字母 | | 小寫傳回true,否則傳回false |
是否為大寫字母 | | 大寫傳回true,否則傳回false |
是否為數字 | | 數字傳回true,否則傳回false |
是否為字母 | | 字母傳回true,否則傳回false |
是否為字母或者數字 | | 字母或數字傳回true,否則傳回false |
字母小轉大 | | 大寫字母 |
字母大轉小 | | 小寫字母 |
- 數字 字母 轉換
數值轉化成字元串,需要包含頭檔案
#include<string>
,利用函數
to_string(int/double/float)
數字字元串轉換成int輸出,利用函數
atoi(const char* str)
預設轉化為
int
型,輸入是
char[]
數組
還需要包含頭檔案
#include<cstring>
// 用于将數值轉化為字元串,輸入數字傳回對應的字元串
#include<string>
string s;
s += "Hello ";
s += to_string(1258); // 數字轉字元串
char c1[] = "-4569"; // 數字字元串轉化為int
int num = atoi(c1);
二、讀取資料
1.讀取一行字元串:string型變量,利用
getline(cin, s);
2.輸入多行時:可以定義string數組,需要用
cin.ignore();
幹掉滞留在輸入流中的換行符
#include<string>
stirng s;
getline(cin, s); // 讀取一行字元串
int n; cin >> n;
cin.ignore(); // 或getchar(); 忽略輸入流中的換行符
string s2[n];
for(int i =0; i < n; i++){
getline(cin, s2[i]);
}
其他常用函數
-
sizeof
sizeof既不是函數也不是一進制操作符,而是一種特殊的編譯過程,sizeof内部的操作不會被編譯,并且加不加括号都行
string s = "abcde";
string* p = &s; // string類型的指針
string & s1 = s; //string 類型的引用
sizeof(p); // 指針占4個位元組,與指向的變量類型無關,int char double 都是 4個位元組
sizeof(s1); // 與引用的對象有關,string的引用 28位元組;char的 1位元組;int的 4位元組
int a = 5; sizeof(a=3); // 運作後a = 5,因為sizeof内部的指派語句不會被編譯
-
數組自動排序
普通數組,需要包含頭檔案
,使用函數#include<algorithm>
進行排序,預設為升序sort(begin, end)
int a[10] = {7,4,5,23,2,73,41,52,28,60};
sort(a, a+a.size());
bool cmp(int a,int b) { return a>b;} // 自定義函數實作降序
sort(a,a+a.size(),cmp);
C++内置二分查找函數,需要包含頭檔案
#include<algorithm>
- 搜尋某個元素是否存在,使用
,存在傳回true,否則傳回falsebinary_search(beg,end,val)
- 獲得被搜尋元素的位置,①
:查找第一個大于或等于某個元素的位置,即左邊界。②lower_bound()
:查找第一個大于某個元素的位置,即右邊界+1。upper_bound()