(十)標準i/o
1.#include#include
int fwide(file *fp, int mode);//設定流定向(寬定向返回正/位元組定向返回負/未定向返回0)
mode引數值為負:試圖使指定的流是位元組定向的;正:寬定向;0不試圖設定流的定向
2.void setbuf(file *restrict fp, char *restrict buf);
int setvbuf(file *restrict fp, char *restrict buf, int mode, size_t size);// 返回(0/-1)
//更改緩衝型別(流被開啟後也應該在對該流未執行任何操作時呼叫)
mode 引數的選項:_iofbf (全緩衝) _iolbf (行緩衝)_ionbf(不帶緩衝,將忽略buf和size)
3.int fflush(file *fp);//沖洗流,將流中的資料傳給核心,然後清空緩衝區。返回(0/eof)
4.file *fopen(const char *restrict pathname, const char *restrict type);//開啟指定的檔案
file *freopen(const char *restrict pathname, const char *restrict type, file* restrict fp)
//在乙個指定的流上開啟檔案,若流已開啟則先關閉流,若已定向則清除定向。
file *fdopen(int filedes, const char *type);
//獲取乙個現有的檔案描述符,並使乙個標準的i/o流與該描述符相結合。
//成功返回檔案指標,出錯返回null
5.int fclose(file *fp);//關閉乙個開啟的流,返回(0/eof)
6.int getc(file *fp);
int fgetc(file *fp);
int getchar(void); //讀取乙個字元;成功返回下乙個字元,若已到檔案結尾或出錯返回eof
7.int ferror(file *fp);
int feof(file *fp);//測試檔案是否出錯和到達結尾;為真返回非0,否則返回0
void clearerr(file *fp);//清除錯誤和結束標誌
8.int ungetc(int c, file *fp);//將字元壓回流中;成功返回c,出錯返回eof
9.int putc(int c, file *fp);
int fputc(int c, file *fp);
int putchar(int c);//輸出函式,成功返回c,出錯返回eof
10.char *fgets(char *restrict buf, int n, file *restrict fp);
char *gets(char *buf);//每次輸入一行;成功返回buf,出錯或檔案結尾則返回null
11.int fputs(const char *restrict str, file *restrict fp);
int puts(const char *str);//輸出一行的函式;成功返回非負值,出錯則返回eof
12.size_t fread(void *restrict ptr, size_t size,size_t nobj,file *restrict fp);
size_t fwrite(const void *restrict ptr, size_t size, size_t nobj, file *restrict fp);
//二進位制i/o操作,返回讀或寫的物件數(即nobj)
13.long ftell(file *fp);//返回當前的檔案位置指示;成功返回當前檔案位置指示,失敗-1l
int fseek(file *fp, long offset, int whence);//為開啟的檔案設定新的偏移量(0/非0)
void rewind(file *fp);//將乙個流設定到檔案的起始位置
14.off_t ftello(file *fp);//成功返回當前檔案的位置指示(與上就差返回型別),失敗返回-1
int fseeko(file *fp, off_t offset, int whence);//成功返回0,失敗返回非0
15.int fgetpos(file *restrict fp, fpos_t *restrict pos);
//將檔案位置指示器的當前值存入指向的物件中
int fsetpos(file *fp, const fpos_t *pos);//用pos的值將流重新定位到該位置;成功0失敗非0;
16.int printf(const char *restrict format,...);
int fprintf(file *restrict fp, const char *restrict format,…);//成功返回輸出字元數/負值
int sprintf(char *restrict buf, const char *restrict format,…);
int snprintf(char *restrict buf, size_t n, const char *restrict format,…);
//成功返回存入陣列的字元數,出錯則返回負值
17.scanf(const char *restrict format, …);
int fscanf(file *restrict fp, const char *restrict format,…);
int sscanf(const char *restrict buf, const char *restrict format, …);
//返回指定的輸入項數;若輸入出錯或在任意變換前已到達檔案結尾則返回eof
18.int fileno(file *fp);//獲取檔案描述符;返回該流相關聯的檔案描述符
19.char *tmpnam(char *ptr);//建立臨時檔案 //返回指向唯一路徑的指標
file *tmpfile(void); //若成功則返回檔案指標,若出錯則返回null
20.char *tempnam(const char *directory, const char *prefix);//指定目錄和字首建立臨時檔案
21.int mkstemp(char *template)//指定臨時檔案的名字建立;成功返回檔案描述符,出錯返回-1
Linux網路程式設計常用函式
計算機資料儲存有兩種位元組優先順序 高位位元組優先和低位位元組優先。internet上資料以高位位元組優先順 序在網路上傳輸,所以對於在內部是以低位位元組優先方式儲存資料的機器,在internet上傳輸資料時就需 要進行轉換。我們要討論的第乙個結構型別是 struct sockaddr,該型別是用來...
Linux 網路程式設計常用函式詳解
sendto 經socket傳送資料 相關函式 send sendmsg,recv recvfrom socket 表頭檔案 include sys types.h include sys socket.h 定義函式 int sendto int s const void msg,int len,u...
Linux系統程式設計(十)exec 族函式
exec函式族的作用是根據指定的檔名找到可執行檔案,並用它來取代呼叫程序的內容,換句話說,就是在呼叫程序內部執行乙個可執行檔案。exec函式族的函式執行成功後不會返回,因為呼叫程序的實體,包括 段,資料 段和堆疊等都已經被新的內容取代,只留下程序 id 等一些表面上的資訊仍保持原樣,頗有些神似 三十...