C語言中的文件操作(1)---重定向文件操作

        文件操作在編程語言中扮演着重要的角色,下面是C/C++中的文件操作 --- 重定向文件操作

  重定向文件操作有下面幾個優勢:

    1. 操作快捷、方便、簡單。

    2. 在對文件進行讀寫等操作時,可以使用常規的輸入輸出函數/語句,例如:直接使用printf()和scanf()等等;當然,也能夠使用原來的fprintf()和fscanf()。

  然而它也有一個地方不足:在文件操作的模式爲只讀模式時,如果在路徑沒有找到指定文件時,無法自行創建一個文件。

  實現方法:在main函數的開頭加上兩條語句,例如:

freopen("D:\\abc.in","r",stdin);
freopen("D:\\abc.out","w",stdout);

  其中,第一個參數表示文件的名稱和路徑,第二個參數表示文件操作的模式("r","w"分別表示只讀和只寫;類似的,還有"rb"和"wb"分別表示二進制文件的只讀與只寫),第三個參數表示文件的“流”(其實我也不知道這是什麼意思,先這麼記着吧),我們先默認填stdin和stdout。

   該函數有一個返回值FILE*,表示指向該文件的指針,當指針的值爲NULL時,則表示打開或創建文件失敗。

   最後還要記得調用fclose(),關閉文件並釋放資源。

   接下來,我們通過一個非常簡單的例子來具體使用一下此函數。

   【輸入】兩個整數a和b

   【輸出】a+b的值

   源代碼如下:

int main(void)
{  
   int a,b;
   freopen("D:\\abc.in", "rb", stdin);
   freopen("D:\\abc.out", "wb", stdout);
   scanf("%d%d", &a, &b);
   printf("%d is the result\n",a, b);
   fclose(stdin);
   fclose(stdout);
   return 0;
}

OK,關於重定向輸入輸出的介紹就暫時告一段落。

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