C++ -- fopen函數用法


一、函數定義

FILE * fopen ( const char * filename, const char * mode );

二、參數mode:

表中指定的模式都是以文本的方式打開文件,如果要以二進制形式打開,需要在模式中加上“b”,既可以在模式字符串的末尾(如"rb+"),也可以在兩個字符中間(如"r+b")。

“rt”      只讀打開一個文本文件,只允許讀數據
“wt”      只寫打開或建立一個文本文件,只允許寫數據
“at”      追加打開一個文本文件,並在文件末尾寫數據
“rb”      只讀打開一個二進制文件,只允許讀數據
“wb”       只寫打開或建立一個二進制文件,只允許寫數據
“ab”       追加打開一個二進制文件,並在文件末尾寫數據
“rt+”      讀寫打開一個文本文件,允許讀和寫
“wt+”      讀寫打開或建立一個文本文件,允許讀寫
“at+”     讀寫打開一個文本文件,允許讀,或在文件末追加數據
“rb+”      讀寫打開一個二進制文件,允許讀和寫
“wb+”      讀寫打開或建立一個二進制文件,允許讀和寫
“ab+”      讀寫打開一個二進制文件,允許讀,或在文件末追加數據

三、返回值

如果文件成功打開,返回指向FILE對象的指針,否則返回NULL;

四、代碼

#include <cstdio>
using namespace std;
int main()
{
    FILE *pFile;
    pFile=fopen("myfile.txt","w");
    if(pFile!=NULL)
    {
        fputs("it's a fopen example",pFile);
        fclose(pFile);
    }
    return 0;
}

對於文件使用方式有以下幾點說明:

  1. 文件使用方式由r,w,a,t,b,+六個字符拼成,各字符的含義是:

  r(read): 讀
  w(write): 寫
  a(append): 追加
  t(text): 文本文件,可省略不寫
  b(banary): 二進制文件
  +: 讀和寫

  2. 凡用“r”打開一個文件時,該文件必須已經存在,且只能從該文件讀出。

  3. 用“w”打開的文件只能向該文件寫入。若打開的文件不存在,則以指定的文件名建立該文件,若

打開的文件已經存在,則將該文件刪去,重建一個新文件。

  4. 若要向一個已存在的文件追加新的信息,只能用“a ”方式打開文件。但此時該文件必須是存在

的,否則將會出錯。

  5. 在打開一個文件時,如果出錯,fopen將返回一個空指針值NULL。在程序中可以用這一信息來判別

是否完成打開文件的工作,並作相應的處理。

如果成功的打開一個文件, fopen()函數返回文件指針, 否則返回空指針
(NULL)。由此可判斷文件打開是否成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM