文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>关于C语言中文件的打开方式

关于C语言中文件的打开方式

时间:2010-06-01  来源:liliu4239

"r "  
Opens   for   reading.   If   the   file   does   not   exist   or   cannot   be   found,   the   fopen   call   fails.  
"w "  
Opens   an   empty   file   for   writing.   If   the   given   file   exists,   its   contents   are   destroyed.  
"a "  
Opens   for   writing   at   the   end   of   the   file   (appending)   without   removing   the   EOF   marker   before   writing   new   data   to   the   file;   creates   the   file   first   if   it   doesn’t   exist.  
"r+ "  
Opens   for   both   reading   and   writing. it can be used for overwritten by fseek  (The   file   must   exist.)  
"w+ "  
Opens   an   empty   file   for   both   reading   and   writing.   If   the   given   file   exists,   its   contents   are   destroyed.  
"a+ "  
Opens   for   reading   and   appending;   the   appending   operation   includes   the   removal   of   the   EOF   marker   before   new   data   is   written   to   the   file   and   the   EOF   marker   is   restored   after   writing   is   complete;   creates   the   file   first   if   it   doesn’t   exist.  
When   a   file   is   opened   with   the   "a "   or   "a+ "   access   type,   all   write   operations   occur   at   the   end   of   the   file.   The   file   pointer   can   be   repositioned   using   fseek,   but   is   always   moved   back   to   the   end   of   the   file   before   any   write   operation   is   carried   out.   Thus,  when use "a" or "a+" ,existing   data   cannot   be   overwritten.  

The   "a "   mode   does   not   remove   the   EOF   marker   before   appending   to   the   file.   After   appending   has   occurred,   the   MS-DOS   TYPE   command   only   shows   data   up   to   the   original   EOF   marker   and   not   any   data   appended   to   the   file.   The   "a+ "   mode   does   remove   the   EOF   marker   before   appending   to   the   file.   After   appending,   the   MS-DOS   TYPE   command   shows   all   data   in   the   file.   The   "a+ "   mode   is   required   for   appending   to   a   stream   file   that   is   terminated   with   the   CTRL+Z   EOF   marker.  

When   the   "r+ ",   "w+ ",   or   "a+ "   access   type   is   specified,   both   reading   and   writing   are   allowed   (the   file   is   said   to   be   open   for   “update”).   However,   when   you   switch   between   reading   and   writing,   there   must   be   an   intervening   fflush,   fsetpos,   or   fseek   operation.   The   current   position   can   be   specified   for   the   fsetpos   or   fseek   operation,   if   desired.  

In   addition   to   the   above   values,   the   following   characters   can   be   included   in   mode   to   specify   the   translation   mode   for   newline   characters:  

t  
Open   in   text   (translated)   mode.   In   this   mode,   CTRL+Z   is   interpreted   as   an   end-of-file   character   on   input.   In   files   opened   for   reading/writing   with   "a+ ",   fopen   checks   for   a   CTRL+Z   at   the   end   of   the   file   and   removes   it,   if   possible.   This   is   done   because   using   fseek   and   ftell   to   move   within   a   file   that   ends   with   a   CTRL+Z,   may   cause   fseek   to   behave   improperly   near   the   end   of   the   file.  
Also,   in   text   mode,   carriage   return–linefeed   combinations   are   translated   into   single   linefeeds   on   input,   and   linefeed   characters   are   translated   to   carriage   return–linefeed   combinations   on   output.   When   a   Unicode   stream-I/O   function   operates   in   text   mode   (the   default),   the   source   or   destination   stream   is   assumed   to   be   a   sequence   of   multibyte   characters.   Therefore,   the   Unicode   stream-input   functions   convert   multibyte   characters   to   wide   characters.   For   the   same   reason,   the   Unicode   stream-output   functions   convert   wide   characters   to   multibyte   characters.  

b  
Open   in   binary   (untranslated)   mode;   translations   involving   carriage-return   and   linefeed   characters   are   suppressed.  
If   t   or   b   is   not   given   in   mode,   the   default   translation   mode   is   defined   by   the   global   variable   _fmode.   If   t   or   b   is   prefixed   to   the   argument,   the   function   fails   and   returns   NULL.  

For   more   information   about   using   text   and   binary   modes   in   Unicode   and   multibyte   stream-I/O,   see   Text   and   Binary   Mode   File   I/O   and   Unicode   Stream   I/O   in   Text   and   Binary   Modes.  

c  
Enable   the   commit   flag   for   the   associated   filename   so   that   the   contents   of   the   file   buffer   are   written   directly   to   disk   if   either   fflush   or   _flushall   is   called.  
n  
Reset   the   commit   flag   for   the   associated   filename   to   “no-commit.”   This   is   the   default.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载