int getc(file* ): 1.可能實現為巨集;2.出錯或達到檔案尾返回eof;
int fgetc(file* ): 1.一定是函式;2.出錯或達到檔案尾返回eof;
int getchar(voiid): 1.從標準輸入讀取,等價於fgetc(stdin);2.出錯或達到檔案尾返回eof;
int ungetc(int c, file* fp): 1.回送的字元不必等於上次讀到的字元;2.不能回送eof;3.到達檔案尾後仍然能回送字元,且會清楚該流的檔案結束標記;4.支援任意次數的回送;回送的字元會重新回到流緩衝區中;
int putc(int c, file* fp): 1.可能實現為巨集;2.成功則返回c,出錯則返回eof;
int fputc(int c, file* fp): 1.一定是函式;2.成功則返回c,出錯則返回eof;
int putchar(int c): 1.輸出到標準輸出,等價於fputc(c, stdout);2.成功則返回c,出錯則返回eof;
char* fgets(char* buf, int n, file* fp): 1.成功返回buf,已到達檔案尾或出錯返回null;2.讀取了n-1個字元(包括換行符)或在讀取n-1個字元前讀取到換行符或到達檔案尾則停止讀取;3.緩衝區自動在讀取字元後面新增null位元組;
char* gets(char* buf): 1.從標準輸入讀取;2.成功返回buf,已到達檔案尾或出錯返回null;3.不能指定緩衝區大小,不推薦使用;4.不將讀取到換行符存入緩衝區;
int fputs(const char* str, file* fp): 1.成功返回非負值,失敗返回eof;2.尾端的null位元組不會被寫到流中;
int puts(const char* str): 1.輸出到標準輸出;2.尾端的null位元組不會被寫到流中;3.會自動在末尾新增換行符;
size_t fread(void* ptr, size_t size, size_t nobj, file* fp): 1.返回寫入的物件數;2.如果返回值小於所要求的nobj則出錯;3.只能用於讀取同一系統(最好同一編譯器編譯)上程式已寫的資料,否則可能因為對齊,大小端等問題出錯;
size_t fwrite(const void* ptr, size_t size, size_t nobj, file* fp): 1.如果出錯或達到檔案尾,返回值可以小於nobj;
int fprintf(file* fp, const char* format, ...): 1.將格式化字元寫入流;2.成功返回輸出字元數,出錯返回負值;
int printf(const char* format, ...): 1.輸出到標準輸出;2.成功返回輸出字元數,出錯返回負值;
int dprintf(int fd, const char* format, ...): 1.輸出到指定的檔案描述符;2.成功返回輸出字元數,出錯返回負值;
int sprintf(char* buf, const char* format, ...): 1.將格式化字元寫入陣列buf中;2.自動在尾部新增null位元組,但不包括在返回值中;
int snprintf(char* buf, size_t n, const char* format, ...): 1.將格式化字元寫入陣列buf中;2.自動在尾部新增null位元組,但不包括在返回值中;最多儲存n-1個字元,超出的字元會被丟棄,但是會包括在返回值中;
int vfprintf(file* fp, const char* format, va_list arg):
int vprintf(const char* format, va_list arg):
int vdprintf(int fd, const char* format, va_list arg):
int vsprintf(char* buf, const char* format, va_list arg):
int vsnprintf(char* buf, size_t n, const char* format, va_list arg): 1.跟前面不加v的函式基本一樣,用arg取代不定常引數;
int fscanf(file* fp, const char* format, ...): 1.成功返回輸入項數,出錯或到達檔案尾,返回eof;
int scanf(const char* format, ...): 1.從標準輸入讀取;2.成功返回輸入項數,出錯或到達檔案尾,返回eof;
int sscanf(const char* buf, const char* format, ...): 1.從字串讀取;2.成功返回輸入項數,出錯或到達檔案尾,返回eof;
int vfscanf(file* fp, const char* format, va_list arg):
int vscanf(const char* format, va_list arg):
int vsscanf(const char* buf, const char* format, va_list arg): 1.跟前面不加v的函式基本一樣,用arg取代不定常引數;
long ftell(file* fp): 1.返回但其檔案位置,出錯返回-1;
int fseek(file* fp, long offset, int whence): 1.對於文字檔案,whence只能是seek_set(檔案起始位置),offset只能是0或ftell的返回值;2.成功返回0,出錯返回-1;
void rewind(file* fp): 1.將流設定到檔案的起始位置;
int fgetpos(file* fp, fpos_t* pos): 1.將當前檔案位置儲存在pos;2.成功返回0,否則返回非0;
int fsetpos(file* fp, const fpos_t* pos): 2.將當前檔案位置設定為pos;2.成功返回0,否則返回非0;
void setbuf(file* fp, char* buf): 1.如果buf為null,流設定為不緩衝,否則buf必須指向長度至少為bufsiz的快取區,流設定為全緩衝;2.必須在流開啟後和執行任何乙個其他操作之前呼叫;
int setvbuf(file* fp, cahr* buf, int mode, size_t size): 1.設定流的緩衝模式和緩衝大小等;2.必須在流開啟後和執行任何乙個其他操作之前呼叫;3.成功返回0,否則返回非0;
int fflush(file* fp): 1.使流所有未寫的資料都被傳送至核心;2.如果fp是null,則所有輸出流都被沖洗;3.成功返回0,出錯返回eof;
file* fopen(const char* pathname, const char* type):
file* freopen(const char* pathname, const char* type, file* fp): 1.在指定的流上開啟指定的檔案,如果該流已經開啟,則先關閉,如果流已經定向,則清除定向;2.一般用於將乙個檔案開啟為乙個預定義的流:標準輸入,標準輸出或標準錯誤;
file* fdopen(int fd, const char* type): 1.將檔案描述符轉化流;
type可以為以下值:
"r"或「rb」: 為讀而開啟
"w"或"wb": 為寫而開啟
"a"或"ab": 追加;為在檔案尾寫而開啟,或為寫而建立
"r+"或"r+b"或"rb+": 為讀和寫而開啟,不截斷檔案
"w+"或"w+b"或"wb+": 為讀和寫而開啟,把檔案截斷至0長
"a+"或"a+b"或"ab+": 為在檔案尾讀和寫而開啟或建立
當以讀寫開啟檔案時(type中有+),具有以下的限制:
1.如果中間沒有fflush,fseek,fsetpos,rewind,則在輸出的後面不能直接跟隨輸入
2.如果中間沒有fseek,fsetpos,rewind,或者乙個輸入操作沒有到達檔案尾,則在輸入操作之後不能直接跟隨輸出
int fclose(file* fp): 1.沖洗緩衝中的輸出資料,丟棄緩衝區中的輸入資料;2.即使呼叫失敗,流也不再跟檔案和緩衝區關聯;3.成功返回0,出錯返回eof;
int feof(file*): 1.判斷是否達到檔案尾(並且嘗試進行讀操作等),條件為真返回非0,否則返回0;
int ferror(file*): 1.判斷流是否出錯,條件為真返回非0,否則返回0;
void clearerr(file*): 1.清除流的eof和error標誌;
void perror(const char* str): 1.根據全域性變數errno列印錯誤資訊,如果str非null,在錯誤資訊前加str的內容;
char* tmpnam(char* ptr): 1.產生乙個跟現有檔名不同的乙個有效路徑名字串;2.最多呼叫次數是tmp_max;3.如果ptr是null,路徑名儲存在靜態區中(會被下次呼叫覆蓋),如果不是null,ptr指向至少是l_tmpnam個字元的陣列;3.失敗返回null;
file* tmpfile(void): 1.建立乙個臨時的二進位制檔案(型別wb+);2.關閉該檔案或程式結束自動刪除檔案,程式異常終止時是否刪除檔案取決於實現;3.失敗返回null;
函式備忘錄
php 雜項函式 strip whitespace 函式返回已刪除 php 注釋以及空白字元的源 檔案。該函式對於檢測指令碼中的實際 量很有用。php 過濾器用於對來自非安全 的資料 比如使用者輸入 進行驗證和過濾。filter 函式是 php 核心的組成部分。無需安裝即可使用這些函式。php 指示...
C 基礎備忘錄
1.decimal 型別呼叫tostring 方法後沒把末尾的0去掉的解決辦法 例子 decimal?money convert.todecimal 10.8950 string moneystr money.value.tostring 結果在同一臺機子,兩個專案裡面會出現兩個不同的結果。結果一 ...
c 備忘錄模式
結構圖 memento類 儲存狀態的容器 複製 如下 class memento public memento string state caretaker是儲存memento類 複製 如下 class caretaker originator類就是需要儲存狀態的類 複製 如下 class orig...