C常用函数
///printf()
%d?整數
%f?浮點
%p?指針地址
///bzero(void *s, int n);
原型:extern void bzero(void *s, int n);
用法:#include <string.h>
功能:置字節字符串s的前n個字節為零。
///FD_ZERO(fd_set *fdset);
將指定的文件描述符集清空,在對文件描述符集合進行設置前,必須對其進行初始化,如果不清空,由于在系統分配內存空間后,通常并不作清空處理,所以結果是不可知的。
??????? FD_SET(fd_set *fdset);用于在文件描述符集合中增加一個新的文件描述符。
///ioctl(int handle, int cmd,[int *argdx, int argcx]);
ioctl是設備驅動程式中對設備的I/O通道進行管理的函數。
其中handle就是用戶程式打開設備時使用open函數返回的文件標示符,cmd就是用戶程式對設備的控制命令,至于后面的省略號,那是一些補充參數,一般最多一個,有或沒有是和cmd的意義相關的。
///int getch(void);
#include <stdio.h>
從控制臺無回顯地取一個字符。
返回值:讀取的字符
///exit()
#include <stdlib.h>
exit():在執行該函數時,進程會檢查文件打開情況,清理I/O緩存,如果緩存中有數據,就會將它們寫入相應的文件,這樣就防止了文件數據的丟失!然后終止進程。
?? _exit():在執行該函數時,并不清理標準輸入輸出緩存,而是直接清除內存空間,當然也就把文件緩存中尚未寫入文件的數據給銷毀了。由此可見,使用exit()函數更加安全。
最后提一下,一般情況下exit(0)表示正常退出,exit(1),exit(-1)為異常退出,0、1、-1是返回值,具體含義可以自定。
///pthread_create()
#include<pthread.h>
創建線程函數
int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr,void*(*start_rtn)(void*),void *restrict arg);
返回值:若成功則返回0,否則返回出錯編號
返回成功時,由tidp指向的內存單元被設置為新創建線程的線程ID。attr參數用于制定各種不同的線程屬性。新創建的線程從start_rtn函數的地址開始運行,該函數只有一個無指針參數arg,如果需要向start_rtn函數傳遞的參數不止一個,那么需要把這些參數放到一個結構中,然后把這個結構的地址作為arg的參數傳入。
///void usleep(int micro_seconds)
納秒級程序暫停。
///void sleep(int seconds)
秒級程序暫停。
///extern void *memcpy(void *dest, void *src, unsigned int count);
#include <string.h>
功能:由src所指內存區域復制count個字節到dest所指內存區域。
說明:src和dest所指內存區域不能重疊,函數返回指向dest的指針。
注意:與strcpy相比,memcpy并不是遇到'\0'就結束,而是一定會拷貝完n個字節。
///void perror(const char *s);
perror()用來將上一個函數發生錯誤的原因輸出到標準錯誤(stderr)。參數s所指的字符串會先打印出,后面再加上錯誤原因字符串。此錯誤原因依照全局變量errno的值來決定要輸出的字符串。
在庫函數中有個error變量,每個error值對應著以字符串表示的錯誤類型。當你調用"某些"函數出錯時,該函數已經重新設置了error的值。perror函數只是將你輸入的一些信息和現在的error所對應的錯誤一起輸出。
///pid_t fork(void);
#include <sys/types.h>
#include <unistd.h>
fork()函數用于從已存在進程中創建一個新進程。新進程稱為子進程,而原進程稱為父進程。你可以通過檢查‘fork()’函數的返回值知道哪個是父進程,哪個是子進程。父進程得到的返回值是子進程的進程號,而子進程則返回0。
///int sscanf (const char *str,const char * format,........);
#include <stdio.h>
函數說明 sscanf()會將參數str的字符串根據參數format字符串來轉換并格式化數據。格式轉換形式請參考scanf()。轉換后的結果存于對應的參數內。
%lx:十六進制數。
%lo:十進制數。
總結
- 上一篇: 【被网上巨坑了】 win10+php5.
- 下一篇: 2022年MySQL8 OCP最新题库整