首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言入門

C 標準庫函數速查手冊:abort 到 atol 完整參考

     編輯:C 語言入門

常用 C 標準庫函數分類速查:名稱、功能、原型、範例

涵蓋程式控制、數學運算、字串轉換、檔案存取、時間日期、斷言、錯誤處理等核心函數,適合開發時快速查閱。

程式控制與終止

函數原型功能範例
abortvoid abort(void)異常終止程式 (不呼叫 atexit)abort();
atexitint atexit(void (*func)(void))註冊正常結束時呼叫的函數atexit(cleanup);
exitvoid exit(int status)正常終止 (呼叫 atexit、刷新緩衝區)exit(EXIT_SUCCESS);
systemint system(const char *cmd)執行殼層命令system("pause");
assertvoid assert(int expr)除錯斷言,失敗終止並顯示資訊assert(ptr != NULL);

數學運算

函數原型功能備註
absint abs(int n)整數絕對值
labs/llabslong/long long 版本長整數絕對值
fabsdouble fabs(double x)浮點數絕對值
sqrtdouble sqrt(double x)平方根x >= 0
powdouble pow(double x, double y)x 的 y 次方
sin/cos/tandouble sin(double x)三角函數 (弧度)
asin/acos/atan反三角函數回傳弧度 [-π/2, π/2]
atan2double atan2(double y, double x)y/x 反正切,處理象限優於 atan(y/x)
exp/log指數/自然對數e^x, ln(x)
ceil/floor向上/向下取整回傳 double
fmod浮點數餘數x - n*y

字串轉換

函數原型功能錯誤處理
atofdouble atof(const char *s)字串轉 double無錯誤回傳,不可檢測
atoiint atoi(const char *s)字串轉 int同上
atol/atolllong/long long 轉換字串轉長整數同上
strtoddouble strtod(const char*, char**)字串轉 double可檢測錯誤、支援 16 進位
strtol/strtoll長整數轉換字串轉 long/long long可指定基數、檢測錯誤
strtoul/strtoull無號長整數轉換字串轉 unsigned long同上

建議:新代碼優先使用 strto* 族函數,提供完整錯誤檢測。

字元分類與轉換 (<ctype.h>)

函數功能函數功能
isalnum字母數字tolower轉小寫
isalpha字母toupper轉大寫
isdigit數字isspace空白字元
isxdigit16進位數字iscntrl控制字元
isprint可列印字元ispunct標點符號

注意:參數為 int,值需為 unsigned char 或 EOF,否則 UB。

記憶體操作 (<string.h> / <stdlib.h>)

函數原型功能
memcpyvoid* memcpy(void* dest, const void* src, size_t n)複製 n 位元組 (不檢查重疊)
memmovevoid* memmove(void* dest, const void* src, size_t n)複製 n 位元組 (安全處理重疊)
memsetvoid* memset(void* s, int c, size_t n)設定 n 位元組為字元 c
memcmpint memcmp(const void* s1, const void* s2, size_t n)比較 n 位元組
mallocvoid* malloc(size_t size)分配未初始化記憶體
callocvoid* calloc(size_t n, size_t size)分配並歸零
reallocvoid* realloc(void* ptr, size_t size)調整大小 (可能移動)
freevoid free(void* ptr)釋放記憶體

檔案操作 (<stdio.h>)

函數原型功能
fopenFILE* fopen(const char* path, const char* mode)開啟檔案
fcloseint fclose(FILE* fp)關閉檔案
fgetc/fputcint fgetc(FILE*) / int fputc(int c, FILE*)字元讀/寫
fgets/fputs字串讀/寫逐行處理
fread/fwritesize_t fread(void*, size_t, size_t, FILE*)區塊二進位讀/寫
fprintf/fscanf格式化讀/寫結構化文字
fseek/ftell隨機存取定位位元組偏移
rewindvoid rewind(FILE*)定位到檔案開頭
feof/ferror檢測結尾/錯誤狀態查詢
remove/rename刪除/重命名檔案檔案管理

時間日期 (<time.h>)

函數/類型功能
time_t自 1970-01-01 秒數
struct tm分解時間 (年月日時分秒)
time()取得當前時間
localtime/gmtime轉換為本地/UTC 時間
asctime/ctime轉換為字串
strftime格式化輸出時間字串
difftime兩時間差 (秒)
clock程式 CPU 時間

快速查找索引

  • 異常終止:abort
  • 正常終止:exit
  • 註冊清理:atexit
  • 斷言:assert
  • 絕對值:abs/fabs/labs
  • 平方根:sqrt
  • 冪次:pow
  • 三角函數:sin/cos/tan/asin/acos/atan/atan2
  • 字串轉數:strtod/strtol/strtoul (推薦) / atof/atoi/atol (簡易)
  • 記憶體複製:memcpy/memmove
  • 記憶體設定:memset
  • 動態分配:malloc/calloc/realloc/free
  • 檔案開啟:fopen (模式: r/w/a/r+/w+/a+)
  • 時間格式化:strftime
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved