天天看點

C++常用函數整理——持續更新ing一、字母 數字常用函數二、讀取資料其他常用函數

常用函數

  • 一、字母 數字常用函數
  • 二、讀取資料
  • 其他常用函數

一、字母 數字常用函數

  1. 判斷字元是字母 或 數字

包含頭檔案 #include ,可以直接使用

功能 函數名稱 傳回值
是否為小寫字母

islower(char c)

小寫傳回true,否則傳回false
是否為大寫字母

isupper(char c)

大寫傳回true,否則傳回false
是否為數字

isdigit(char c)

數字傳回true,否則傳回false
是否為字母

isalpha(char c)

字母傳回true,否則傳回false
是否為字母或者數字

isalnum(char c)

字母或數字傳回true,否則傳回false
字母小轉大

toupper(char c)

大寫字母
字母大轉小

tolower(char c)

小寫字母
  1. 數字 字母 轉換

數值轉化成字元串,需要包含頭檔案

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

其他常用函數

  1. 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内部的指派語句不會被編譯
           
  1. 數組自動排序

    普通數組,需要包含頭檔案

    #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>

  1. 搜尋某個元素是否存在,使用

    binary_search(beg,end,val)

    ,存在傳回true,否則傳回false
  2. 獲得被搜尋元素的位置,①

    lower_bound()

    :查找第一個大于或等于某個元素的位置,即左邊界。②

    upper_bound()

    :查找第一個大于某個元素的位置,即右邊界+1。

繼續閱讀