C語言常用函數簡介

一、字符測試函數

isupper()測試字符是否為大寫英文字
ispunct()測試字符是否為標點符號或特殊符號
isspace()測試字符是否為空格字符
isprint()測試字符是否為可打印字符
islower()測試字符是否為小寫字母
isgraphis()測試字符是否為可打印字符
isdigit()測試字符是否為阿拉伯數字
iscntrl()測試字符是否為ASCII碼的控制字符
isascii()測試字符是否為ASCII碼字符
isalpha()測試字符是否為英文字母
isalnum()測試字符是否為英文或數字
isxdigit()測試字符是否為16進制數字


二、字符串操作函數

strtok()字符串分割函數
strstr()字符串查找函數
strspn()字符查找函數
strrchr()定位字符串中最后出現的指定字符
strpbrk()定位字符串中第一個出現的指定字符
strncpy()復制字符串
strncat()字符串連接函數
strncasecmp()字符串比較函數(忽略大小寫)
strlen()字符串長度計算函數
strdup()復制字符串
strcspn()查找字符串
strcpy()復制字符串
strcoll()字符串比較函數(按字符排列次序)
strcmp()字符串比較函數(比較字符串)
strchr()字符串查找函數(返回首次出現字符的位置)
strcat()連接字符串
strcasecmp()字符串比較函數(忽略大小寫比較字符串)
rindex()字符串查找函數(返回最后一次出現的位置)
index()字符串查找函數(返回首次出現的位置)
toupper()字符串轉換函數(小寫轉大寫)
tolower()字符串轉換函數(大寫轉小寫)
toascii()將整數轉換成合法的ASCII碼字符
strtoul()將字符串轉換成無符號長整型數
strtol()將字符串轉換成長整型數
strtod()將字符串轉換成浮點數
gcvt()將浮點型數轉換為字符串(四舍五入)
atol()將字符串轉換成長整型數
atoi()將字符串轉換成整型數
atof()將字符串轉換成浮點型數

三、內存管理函數

memset()內存填入函數(將內存空間填入某值)
memmove()內存復制函數
memcpy()內存復制函數(復制內存內容)
memcmp()內存比較函數
memchr()在內存中查找特定字符
memccpy()復制內存中的內容
bzero()內存管理函數(將一段內存清零)
bcopy()復制內存內容
bcmp()內存操作函數(比較內存內容)
munmap()解除內存映射
mmap()建立內存映射
malloc()分配一段內存空間
getpagesize()取得內存分頁大小
free()釋放內存空間
calloc()配置內存空間


四、日期時間函數

time()取得本地時間(日期時間函數)
settimeofday()設置當前時間戳
mktime()將時間結構數據轉換成經過的秒數
localtime()獲取當地目前時間和日期
gmtime()獲取當前時間和日期
gettimeofday()獲取當前時間
ctime()將時間和日期以字符串格式表示
asctime()將時間日期以字符串格式表示


五、數學函數

tanh()正切函數(取雙曲線正切函數值)
tan()正切函數
sqrt()開方函數(取平方根值)
sinh()正弦函數(取雙曲線正玄函數值)
sin()正弦函數
pow()求次方函數(求一個數的N次方)
log10()對數函數(求以10為底的對數值)
log()對數函數(求以e為底的對數值)
ldexp()次方函數(計算2的N次方的值)
frexp()將浮點型數分為底數與指數
exp()指數函數
cosh()余弦函數(取雙曲線余玄函數值)
cos()余弦函數(取余玄函數值)
ceil()取整函數(取不小于參數的最小整型數)
atan2()反正切函數(取得反正切函數值)
atan()反正切函數(取反正切函數值)
asin()反正弦函數(取反正弦函數值)
acos()反余弦函數(取反余弦函數數值)
abs()求絕對值函數(適合整數求絕對值)


六、文件操作函數

ungetc()寫文件函數(將指定字符寫回文件流中)
setvbuf()設置文件流的緩沖區
setlinebuf()設置文件流為線性緩沖區
setbuffer()設置文件流的緩沖區
setbuf()設置文件流的緩沖區
rewind()重設文件流的讀寫位置為文件開頭
putchar()字符輸出函數(將指定的字符寫到標準輸出設備)
putc()寫文件函數(將一指定字符寫入文件中)
mktemp()產生唯一臨時文件名
gets()字符輸入函數(由標準輸入設備內讀進一字符串)
getchar()字符輸入函數(由標準輸入設備內讀進一字符)
getc()讀文件函數(由文件中讀取一個字符)
fwrite()寫文件函數(將數據流寫入文件中)
ftell()取得文件流的讀取位置
fseek()移動文件流的讀寫位置
freopen()打開文件函數,并獲得文件句柄
fread()讀文件函數(從文件流讀取數據)
fputs()寫文件函數(將一指定的字符串寫入文件內)
fputc()寫文件函數(將一指定字符寫入文件流中)
fopen()文件打開函數(結果為文件句柄)
fileno()獲取文件流所使用的文件描述詞
fgets()讀取文件字符串
fgetc()讀文件函數(由文件中讀取一個字符)
fflush()更新緩沖區
feof()檢查文件流是否讀到了文件尾
fdopen()將文件描述詞轉為文件指針
fclose()關閉打開的文件
clearerr()清除文件流的錯誤旗標
write()寫文件函數
sync()寫文件函數(將緩沖區數據寫回磁盤)
read()讀文件函數(由已打開的文件讀取數據)
open()打開文件函數
mkstemp()建立臨時文件
lseek()移動文件的讀寫位置
fsync()將緩沖區數據寫回磁盤
flock()解除鎖定文件
fcntl()文件描述詞操作函數
dup2()復制文件描述詞
dup()復制文件描述詞
creat()創建文件函數
close()關閉文件
utmpname()設置文件路徑
setutent()從頭讀取utmp文件中的登錄數據
setuid()設置真實的用戶識別碼
setreuid()設置真實及有效的用戶識別碼
setregid()設置真實及有效的組識別碼
setpwent()從頭讀取密碼文件中的賬號數據
setgroups()設置組代碼函數
setgrent()從頭讀取組文件中的組數據
setgid()設置真實的組識別碼
setfsuid()設置文件系統的用戶識別碼
setfsgid()設置文件系統的組識別碼
seteuid()設置有效的用戶識別碼
pututline()將utmp記錄寫入文件
initgroups()初始化組清單
getutline()文件查找函數(從utmp文件中查找特定的記錄)
getutid()從utmp文件中查找特定的記錄
getutent()從utmp文件中取得賬號登錄數據
getuid()取得真實的用戶識別碼
getpwuid()從密碼文件中取得指定uid的數據
getpwnam()從密碼文件中取得指定賬號的數據
getpwent()從密碼文件中取得賬號的數據
getpw()取得指定用戶的密碼文件數據
getgroups()獲取組代碼函數
getgrnam()從組文件中取得指定組的數據
getgrgid()從組文件中取得指定gid的數據
getgrent()從組文件中取得賬號的數據
getgid()取得組識別碼函數
geteuid()獲取用戶識別碼函數
getegid()獲得組識別碼
fgetpwent()讀取密碼格式
fgetgrent()讀取組格式函數
endutent()關閉文件(關閉utmp文件)
endpwent()關閉文件(關閉密碼文件)
endgrent()關閉文件(關閉組文件)

七、進程操作函數

vsscanf()字符串輸入函數
vsprintf()格式化字符串
vscanf()字符串格式化輸入函數
vprintf()輸出函數
vfscanf()輸入函數(先格式化字符串再輸入)
vfprintf()輸出函數(格式化輸出數據至文件)
sscanf()字符串輸入函數
sprintf()字符串復制函數(格式化字符串復制)
sacnf()字符串輸入函數(最常用的輸入函數)
printf()輸出函數(最常用的輸出函數)
fscanf()輸入函數(比較常用)
fprintf()輸出函數(格式化輸出數據至文件)
waitpid()中斷(結束)進程函數(等待子進程中斷或結束)
wait()結束(中斷)進程函數(常用)
system()執行shell命令
setpriority()設置程序進程執行優先權
setpgrp()設置進程組識別碼
setpgid()設置進程組識別碼函數
on_exit()設置程序正常結束前調用的函數
nice()改變進程優先順序
getpriority()取得程序進程執行優先權
getppid()取得父進程的進程識別碼
getpid()獲取進程識別碼
getpgrp()獲取進程組識別碼
getpgid()獲取進程組識別碼
_exit()結束進程執行
vfork()建立新的進程
exit()結束進程
execvp()執行文件函數
execve()執行文件函數
execv()執行文件函數
execlp()從PATH 環境變量中查找文件并執行
execl()執行文件函數
atexit()設置程序正常結束前調用的函數

八、文件權限控制函數

utimes()修改文件的存取時間和更改時間
utime()修改文件的存取時間和更改時間
unlink()刪除文件
umask()設置建立新文件時的權限遮罩
truncate()改變文件大小
telldir()取得目錄流的讀取位置
symlink()建立文件符號連接
stat()獲取文件狀態
seekdir()設置下回讀取目錄的位置
rewinddir()重設讀取目錄的位置為開頭位置
rename()更改文件名稱或位置
remove()刪除文件函數
readlink()取得符號連接所指的文件
readdir()讀取目錄函數
opendir()打開目錄函數
lstat()由文件描述詞取得文件狀態
link()建立文件連接
getcwd()取得當前的工作目錄
ftruncate()改變文件大小
fstat()由文件描述詞取得文件狀態
fchown()改變文件的所有者
fchmod()改變文件的權限
fchmod()修改文件的權限
fchdir()改變當前工作目錄
closedir()關閉目錄
chroot()改變文件根目錄
chown()改變文件所有者
chmod()修改文件權限
chdir()改變當前的工作目錄
alphasort()依字母順序排序目錄結構
access()判斷是否具有存取文件的權限

九、信號處理函數

popen()建立管道I/O
pclose()關閉管道I/O
mkfifo()建立具名管道
strerror()返回錯誤原因的描述字符串
perror()打印出錯誤原因信息字符串
ferror()檢查文件流是否有錯誤發生
sleep()讓進程暫停執行一段時間
sigprocmask()查詢或設置信號遮罩
sigpending()查詢被擱置的信號
signal()設置信號處理方式
sigismember()測試某個信號是否已加入至信號
sigfillset()將所有信號加入至信號集
sigemptyset()初始化信號集
sigdelset()從信號集里刪除一個信號
sigaddset()增加一個信號至信號集
pause()讓進程暫停直到信號出現
sigaction()查詢或設置信號處理方式
kill()傳送信號給指定的進程
alarm()設置信號傳送鬧鐘

十、接口處理函數

socket()建立一個socket通信
shutdown()終止socket通信
setsockopt()設置socket狀態
setprotoent()打開網絡協議的數據文件
setservent()打開主機網絡服務的數據文件
sendto()經socket傳送數據
sendmsg()經socket傳送數據
send()經socket傳送數據
recvmsg()經socket接收數據
recvfrom()經socket接收數據
recv()經socket接收數據
ntohs()將16位網絡字符順序轉換成主機字符順序
ntohl()將32位網絡字符順序轉換成主機字符順序
listen()等待連接
inet_ntoa()將網絡二進制的數字轉換成網絡地址
inet_aton()將網絡地址轉成網絡二進制的數字
inet_addr()將網絡地址轉成二進制的數字
htons()將16位主機字符順序轉換成網絡字符順序
htonl()將32位主機字符順序轉換成網絡字符順序
getsockopt()取得socket 狀態
getsockopt()取得socket 狀態
endservent()結束網絡服務數據的讀取
endprotoent()結束網絡協議數據的讀取
connect()建立socket連線
bind()對socket定位
accept()接受socket連線

十一、環境變量函數

putenv()改變或增加環境變量
getenv()取得環境變量內容

十二、終端控制函數

ttyname()返回一終端機名稱
select()I/O多工機制
isatty()判斷文件描述詞是否是為終端機
getopt()分析命令行參數

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450616.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450616.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450616.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

thinkphp如何增加session的過期時間

原理:我們都知道session是建立在cookie的基礎上的,如果瀏覽器cookie清楚了,則tp就會重新建立一個session。 操作:直接增加瀏覽器的cookie的到期時間,就可以使tp的session增加。

需求心得

電路圖是人們為研究、工程規劃的需要。我們組項目需要設計實現一個矢量圖編輯器。在通過對變電站的電路圖進行矢量繪圖后,就可以通過矢量圖的縮放詳細信息。在分析需求后,寫下心得! 分析需求主要有一下幾個步驟: 1. 獲取和引導需求…

IT部門不應該是一個后勤部門

管理上最大的問題在于不重視預算與核算的管理。從管理層到員工,很少有經營的念頭,只是一味地埋頭做事。西方企業總結了當今幾百年的經營理念,最終把企業一切活動的評價都歸結到唯一的、可度量的標準上:錢來度量。 by——華為 作為…

you need to resolve your current index first 解決辦法

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 從一個分支A切換到另一個分支B后,對切換后的B分支進行pull操作,因為pull操作實際上包含了fetchmerge操作&#x…

C語言,一種如此美麗的語言

人們說足球是一種優美的體育運動,而當我們在綠茵場上看到羅納爾多那行云流水的帶球動作時,我們不能不承認這種說法。然而,對于我來說,這種運動之所以如此的賞心悅目,跟那些乖張的天才球星們關系并不是那么大&#xff0…

基于websocket的聊天實現邏輯(springboot)

websocket的知識點:當用戶建立socket連接請求之后,服務器會給客戶段建一個session(非httpsession),這是是對客戶端的唯一識別碼,用于消息通信 第二上流程圖,流程圖解釋:用戶1要給用戶2發送消息…

Elasticsearch就這么簡單

Elasticsearch就這么簡單 Lucene就這么簡單轉載于:https://www.cnblogs.com/gaogaoyanjiu/p/9908520.html

大學生學編程系列」第五篇:自學編程需要多久才能找到工作?

很多編程初學者都會有這種疑問,自學學到什么程度或者學多久能夠找到工作,這種問題沒有統一答案,因為每個人的出發時候的基礎以及在學習過程中掌握的程度不盡相同,也會導致結果不一樣,只能說要看個人的造化了&#xff0…

chrome 谷歌瀏覽器怎么添加Axure擴展

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 工具/原料 谷歌瀏覽器Axure RP Extension for Chrome方法/步驟 百度搜索Axure RP,下載Axure RP,并進行安裝 安裝后…

配置nginx-rtmp流媒體服務器(寶塔面板配置教程)

參考文檔:https://www.kancloud.cn/jiangguowu/kfjsdkfjskd/1209896 1.在寶塔面板中安裝帶nginx的服務器 2.在寶塔面板中卸載nginx(因為nginx-rtmp和nginx的配置不同,并且寶塔面板中不支持安裝nginx-rtmp) 3.開始預下載nginx &a…

C語言的應用范圍和發展前途簡介

C一般用來底層開發,如操作系統,嵌入式開發,或者要求效率,高可移植性的地方。C對人要求很高,程序員要考慮的地方太多。他的特點就是每一個字節都可以精確控制,不象C,編譯器為你自動加的東西太多&…

css控制div等比高度

在移動端開發中,在banner輪播圖未加載出來之前,banner層是不占文檔流高度的,當從服務器獲取完banner數據,展示的時候,banner層因為有了內容 所以會撐開,導致banner層下面的內容也隨之移動,為解決…

2018杭州云棲大會,梁勝博士的演講PPT來啦!

2019獨角獸企業重金招聘Python工程師標準>>> 2018杭州云棲大會已經結束,Rancher作為阿里云的緊密合作伙伴,Rancher Labs聯合創始人兼CEO梁勝博士,在9月21日上午受邀出席大會并作題為**“如何能讓每個人都用Kubernetes和Service Me…

No Identifier specified for entity的解決辦法

見:http://blog.csdn.net/u011617875/article/details/18550305 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 No Identifier specified for entity的錯誤IdGeneratedVal…

利用jquery修改elment的自定義組件多選框el-select(修改多選框的顏色)

先上圖片 一實現邏輯 我們知道element顏色默認為灰色,首先便簽名稱是唯一的,我的實現邏輯是后端傳給前端 含有顏色,名稱的數組,然后vue記錄一個對象{名稱 > 顏色},當用戶選擇標簽之后,觸發 點擊事件&…

怎樣在C語言程序中使用功能鍵和箭頭鍵?

在程序中使用功能鍵和箭頭鍵可以使程序更容易使用。箭頭鍵可用來移動光標,而功能鍵使用戶能做一些特殊的事情,還可用來替代一些經常要鍵入的字符序列。然而,與其它“特殊”功能一樣,C語言本身并沒有提供讀入功能鍵和箭頭鍵的標準方…

中文地址

2019獨角獸企業重金招聘Python工程師標準>>> 轉載于:https://my.oschina.net/u/2935389/blog/2209087

python+selenium十:selenium的二次封裝

pythonselenium十:基于原生selenium的二次封裝 from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.support.select import Sele…

TDD開發模式實現代碼功能邏輯(自己總結,持續更新)

1.先寫測試 2.要使程序盡快的通過(及早交付) 3.優化程序結構,盡量使程序盡量快的運行 4.不要怕修改,單元測試會保證接口的正常運行 5.能通過測試后再去重構(消除冗余,優化程序設計) 6.用盡…

Intellij IDEA Debug調試技巧

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1、這里以一個web工程為例,點擊圖中按鈕開始運行web工程。 2、設置斷點 3、使用postman發送http請求 4、請求發送之后會自動…