基於 C 語言的服務 setlocale 函數的擴展 fdopen  非局部跳轉 設置時間域 參考的 C 語言規範 C 語言輸入/輸出函數  其他文件類型函數之間的相互作用 其他的 C 函數

參考的 C 語言規範

    setlocale 函數的擴展

#include <locale.h>

//根據參數 category 和 locale 設置,更改或者查詢進程現場
char *setlocale(int category, const char *locale);

 C 語言輸入/輸出函數

     根據一個文件描述符打開一個流

#include <stdio.h>

//聯合一個流和一個文件描述符
FILE *fdopen(int fildes, const char *type);

    其他文件類型函數之間的相互作用

        一個單一的文件描述 可以通過 流 和 文件描述符 訪問

       流 或是 文件描述符 被稱作 打開文件的句柄

       一個打開文件可以有多個句柄

      句柄可以在不影響重要的打開文件說明的情況下被創建和刪除

        創建如 fcntl().dup(),fdopen(),fileno(),fork()

        刪除如 fclose(),close()

     fopen() 隨着 open() 的調用分配描述符,基礎函數爲open()

     fclose() :

         該函數完成在與 FILE 流相關的,對文件描述符的 close() 功能

     freopen():

           具有 fclose()和 fopen()的特點

     fflush():

          如 流 可寫 或 緩存數據還沒有寫入文件 時,該函數標記下 基礎文件 st_ctime 和 st_mtime 的值

    fgetc(), fgets(), fread(), getc(), getchar(), gets(), scanf(), fscanf():

          這些函數標記更新的 st_atime 值, 基礎函數是 read() 和 lseek()

      fputc(),fputs(),fwrite(),putc(),putchar(),puts(),printf(),fprintf():

             從以上任一個函數的成功執行到下一個調用(在同一個流中的 fflush()或 fclose() 或 exit()或 abort() ),記下更新的 st_ctime 和 st_mtime 值。基礎函數是 write()和lseek()
     fseek(), rewind():

         如 流 可寫 或者 緩存數據還沒有寫入文件 時,該函數標記下文件更新的st_ctime 和 st_mtime 值。基礎函數是lseek() 和 write()

    perror():

         記下與標準錯誤流相關的文件

   tmpfile():

           fopen() 執行後爲 文件分配文件描述符

   ftell():

       執行 fflush() 後 執行該函數的結果與 執行 fflush() 前 執行該函數的結果相同, 基礎文件是 lseek() 

   exit(), abort():

         exit() 終止進程的時候要關閉流,abort() 只終止進程對流沒有影響

    文件操作-----remove()函數

       該函數和 unlink()函數的功能一樣

其他的 C 函數

     非局部跳轉

#include <setjmp.h>

// sigsetjmp()宏要與標準中 setjmp()宏的定義一致
//如 savemask != 0,sigsetjmp()就要保存當前的信號 標記爲 調用環境的一部分
// Siglongjmp()同理
int sigsetjmp(sigjmp_buf env, int savemask);
void siglongjmp(sigjmp_buf env, int val);

   設置時間域

#include <time.h>

//用環境變量 TZ 的值來設定時間變化信息
void tzset(void);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章