C 常用知識點

2022-03-28 15:13:18 字數 3733 閱讀 5543

1.按有效位輸出是 setprecision,按小數字數輸出也是setprecision,但到底是誰取決於fixed。

cout << resetiosflags(ios::fixed) << setprecision(n) << float-point-number; 是按n位有效數輸出

cout << setiosflags(ios::fixed) << setprecision(n) << float-point-number; 是按n位小數輸出

2.c++分隔字串函式

char *strtok( char *strtoken, const char *strdelimit);

引數說明:strtoken:   包含 token 的字串, 即待分割串; strdelimit: token 的集合, strtoken 會根據這裡的每個字元進行分割

返回值:返回指向第一段被擷取出來的字串的指標(根據 strdelimit 內的字元進行擷取). 如果沒有找到, 那麼就返回 null.

呼叫說明:

(1). 第一次呼叫 strtok 時, 第乙個引數是 strtoken, 以後再呼叫時, 第乙個引數必須是 null;

(2). 呼叫 strtok 後, 原字串會被修改;

(3). strtok 不是乙個執行緒安全的函式.

//借助strtok實現split

#include #include int main()

return 0;

}

3.c++字串轉化為數字的庫函式(來自

1、atoi

功 能:把一字串轉換為整數

用 法:int atoi(const char *nptr);

詳細解釋:atoi是英文array to integer 的縮寫。atoi()會掃瞄引數nptr字串,如果第乙個字元不是數字也不是正負號返回零,否則開始做型別轉換,之後檢測到非數字或結束符 /0 時停止轉換,返回整型數。 參 數:

*nptr: 待轉化的字串。

返回值:

int: 轉換後的整形數。

備註:該函式的標頭檔案是"stdlib.h"

2、atol

功 能:把一字串轉換為長整形

用 法:long atol(const char *nptr);

詳細解釋:atol()會掃瞄引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束時('/0')才結束轉換,並將結果返回。

參 數:

*nptr: 待轉化的字串。

返回值:

long: 轉換後的長整形數。

備註:該函式的標頭檔案是"stdlib.h"

3、atof

功 能:把乙個字串轉換為雙精度浮點數

用 法:double atof(const char *nptr);

詳細解釋:atof()會掃瞄引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束時 ('/0')才結束轉換,並將結果返回。引數nptr字串可包含正負號、小數點或e(e)來表示指數部分,如123.456或123e-2。

參 數:

*nptr: 待轉化的字串。

返回值:

double: 轉換後的雙精度浮點數。

備註:該函式的標頭檔案是"stdlib.h"

4、strtod

功 能:將字串轉換為雙精度浮點型值,並報告不能被轉換的所有剩餘數字

用 法:double strtod(const char *nptr,char **endptr);

詳細解釋:strtod()會掃瞄引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,到出現非數字或字串結束時 ('/0')才結束轉換,並將結果返回。若endptr不為null,則會將遇到不合條件而終止的nptr中的字元指標由endptr傳回。引數nptr 字串可包含正負號、小數點或e(e)來表示指數部分。如123.456或123e-2。

參 數:

*nptr: 待轉化的字串。

**endptr: 若endptr不為null,則會將遇到不合條件而終止的nptr中的字元指標由endptr傳回。

返回值:

double: 轉換後的雙精度浮點數。

備註:該函式的標頭檔案是"stdlib.h"

5、strtol

功 能:將字串轉換為長整形值,並報告不能被轉換的所有剩餘數字

用 法:long int strtol(const char *nptr,char **endptr,int base);

詳細解釋:這個函式會將引數nptr字串根據引數base來轉換成長整型數。引數base範圍從2至36,或0。引數base代表採用的進製 方式,如base值為10則採用10進製,若base值為16則採用16進製制等。當base值為0時則是採用10進製做轉換,但遇到如』0x』前置字元則 會使用16進製做轉換、遇到』0』前置字元而不是』0x』的時候會使用8進製做轉換。一開始strtol()會掃瞄引數nptr字串,跳過前面的空格字 符,直到遇上數字或正負符號才開始做轉換,再遇到非數字或字串結束時('/0')結束轉換,並將結果返回。若引數endptr不為null,則會將遇到 不合條件而終止的nptr中的字元指標由endptr返回。

參 數:

*nptr: 待轉化的字串。

**endptr: 若endptr不為null,則會將遇到不合條件而終止的nptr中的字元指標由endptr傳回。

base:採用的進製方式

返回值:

long int: 轉換後的長整形數。

備註:該函式的標頭檔案是"stdlib.h"

6、strtoul

功 能:將字串轉換為無符號長整形值,並報告不能被轉換的所有剩餘數字。

用 法:unsigned long int strtoul(const char *nptr,char **endptr,int base);

詳 細解釋:strtoul()會將引數nptr字串根據引數base來轉換成無符號的長整型數。引數base範圍從2至36,或0。引數base代表採用 的進製方式,如base值為10則採用10進製,若base值為16則採用16進製制數等。當base值為0時則是採用10進製做轉換,但遇到如'0x'前 置字元則會使用16進製做轉換。一開始strtoul()會掃瞄引數nptr字串,跳過前面的空格字串,直到遇上數字或正負符號才開始做轉換,再遇到 非數字或字串結束時('')結束轉換,並將結果返回。若引數endptr不為null,則會將遇到不合條件而終止的nptr中的字元指標由endptr 返回。

參 數:

*nptr: 待轉化的字串。

**endptr: 若endptr不為null,則會將遇到不合條件而終止的nptr中的字元指標由endptr傳回。

base:採用的進製方式

返回值:

unsigned long int: 轉換後的無符號長整形數。

備註:該函式的標頭檔案是"stdlib.h"

4.c++ cin

cin會把讀入流之前的空格,之後的空白全部去掉,比如以下程式:

view code

1 #include 2

using

namespace

std;34

intmain()

5

輸入1)數字,空格,數字,回車;2)空格,數字,空格,空格,回車;3)回車,數字,空格,數字,回車都可以得到正確結果。(換句話說,

cin會自動忽略空格和回車)

C 常用知識點

excel資料分析與視覺化codeblocks開啟專案,需要open cbp檔案,才能將整個專案匯入,不能開啟main.cpp檔案 利用 notepad 解決中文亂碼。gb2312 ansi windows926 untf 8 codeblock 調整字型大小 ctrl 滑鼠滾輪 mac系統下檔案編...

C 常用知識點

獲取英文月份名稱 datetime.now.tostring mmmm 1.1 各個字母所代表的意思 1.mm 月份 2.mm 分鐘 3.mmmm 文字形式月份 4.mmm 三個字母縮寫的月份 4.hh 24小時制 5.hh 12小時制 6.ddd 三個字母縮寫的星期 7.dddd 完整的星期 8....

mysql常用知識點 mysql 常用知識點。

mysql u root p show databases show tables select from abc order by id limit 0,10 create database bbb exit mysqldump u root p game home backup.sql mysq...