新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 文件I/O編程之: 標準I/O編程

        文件I/O編程之: 標準I/O編程

        作者: 時間:2013-09-13 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/257135.htm

        6.5.2其他操作

        文件打開之后,根據一次讀寫文件中字符的數目可分為字符輸入輸出、行輸入輸出和格式化輸入輸出,下面分別對這3種不同的方式進行講解。

        1.字符輸入輸出

        字符輸入輸出一次僅讀寫一個字符。其中字符輸入輸出如表6.21和表6.22所示。

        表6.21 字符輸出語法要點

        所需頭文件

        #includestdio.h>

        函數原型

        intgetc(FILE*stream)
        intfgetc(FILE*stream)
        intgetchar(void)

        函數傳入值

        stream:要輸入的文件流

        函數返回值

        成功:下一個字符
        失敗:EOF

        表6.22 字符輸入函數語法要點

        所需頭文件

        #includestdio.h>

        函數原型

        intputc(intc,FILE*stream)
        intfputc(intc,FILE*stream)
        intputchar(intc)

        函數返回值

        成功:字符c
        失敗:EOF

        這幾個函數功能類似,其區別僅在于getc()和putc()通常被實現為宏,而fgetc()和fputc()不能實現為宏,因此,函數的實現時間會有所差別。

        下面這個實例結合fputc()和fgetc()將標準輸入復制到標準輸出中去。

        /*fput.c*/

        #includestdio.h>

        main()

        {

        intc;

        /*把fgetc()的結果作為fputc()的輸入*/

        fputc(fgetc(stdin),stdout);

        }

        運行結果如下所示:

        $./fput

        w(用戶輸入)

        w(屏幕輸出)

        2.行輸入輸出

        行輸入輸出函數一次操作一行。其中行輸入輸出函數如表6.23和表6.24所示。

        表6.23 行輸出函數語法要點

        所需頭文件

        #includestdio.h>

        函數原型

        char*gets(char*s)
        charfgets(char*s,intsize,FILE*stream)

        函數傳入值

        s:要輸入的字符串
        size:輸入的字符串長度
        stream:對應的文件流

        函數返回值

        成功:s
        失敗:NULL

        表6.24 行輸入函數語法要點

        所需頭文件

        #includestdio.h>

        函數原型

        intputs(constchar*s)
        intfputs(constchar*s,FILE*stream)

        函數傳入值

        s:要輸出的字符串
        stream:對應的文件流

        函數返回值

        成功:s
        失敗:NULL

        這里以gets()和puts()為例進行說明,本實例將標準輸入復制到標準輸出,如下所示:

        /*gets.c*/

        #includestdio.h>

        main()

        {

        chars[80];

        /*同上例,把fgets()的結果作為fputs()的輸入*/

        fputs(fgets(s,80,stdin),stdout);

        }

        運行該程序,結果如下所示:

        $./gets

        Thisisstdin(用戶輸入)

        Thisisstdin(屏幕輸出)

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        linux相關文章:linux教程




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 雅安市| 蓝山县| 司法| 明溪县| 平定县| 桓台县| 山西省| 广水市| 阆中市| 炉霍县| 屏山县| 团风县| 乐安县| 博罗县| 喜德县| 竹溪县| 沛县| 开原市| 南涧| 渝北区| 全南县| 沂南县| 阜新市| 策勒县| 汉寿县| 庄河市| 仁怀市| 大宁县| 潞西市| 鄄城县| 文山县| 龙口市| 海南省| 通州区| 克东县| 治县。| 廉江市| 南江县| 台江县| 攀枝花市| 台北县|