青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 40, 文章 - 0, 評(píng)論 - 9, 引用 - 0
數(shù)據(jù)加載中……

C++文件讀寫函數(shù)介紹

http://www.zxbc.cn/html/cjjhs/1413524521078.html

今天給大家介紹一下C++中常用到的讀寫函數(shù),新手可以收藏一下,方便以后查找。 
  1.fopen()
  fopen的原型是:FILE *fopen(const char *filename,const char *mode),fopen實(shí)現(xiàn)三個(gè)功能:為使用而打開一個(gè)流,把一個(gè)文件和此流相連接,給此流返回一個(gè)FILR指針。
  參數(shù)filename指向要打開的文件名,mode表示打開狀態(tài)的字符串,其取值如下:
  字符串 含義
  "r" 以只讀方式打開文件
  "w" 以只寫方式打開文件
  "a" 以追加方式打開文件
  "r+" 以讀/寫方式打開文件,如無文件出錯(cuò)
  "w+" 以讀/寫方式打開文件,如無文件生成新文件
一個(gè)文件可以以文本模式或二進(jìn)制模式打開,這兩種的區(qū)別是:在文本模式中回車被當(dāng)成一個(gè)字符’\n’,而二進(jìn)制模式認(rèn)為它是兩個(gè)字符 0x0D,0x0A;如果在文件中讀到0x1B,文本模式會(huì)認(rèn)為這是文件結(jié)束符,也就是二進(jìn)制模型不會(huì)對(duì)文件進(jìn)行處理,而文本方式會(huì)按一定的方式對(duì)數(shù)據(jù)作 相應(yīng)的轉(zhuǎn)換。
  系統(tǒng)默認(rèn)的是以文本模式打開,可以修改全部變量_fmode的值來修改這個(gè)設(shè)置,例如_fmode=O_TEXT;就設(shè)置默認(rèn)打開方式為文本模式;而_fmode=O_BINARY;則設(shè)置默認(rèn)打開方式是二進(jìn)制模式。
  我們也可以在模式字符串中指定打開的模式,如"rb"表示以二進(jìn)制模式打開只讀文件,"w+t"或"wt+"表示以文本模式打開讀/寫文件。
  此函數(shù)返回一個(gè)FILE指針,所以申明一個(gè)FILE指針后不用初始化,而是用fopen()來返回一個(gè)指針并與一個(gè)特定的文件相連,如果成敗,返回NULL,中國自學(xué)編程網(wǎng),www.zxbc.cn
  例:
   以下是引用片段:
FILE *fp; 
  if(fp=fopen("123.456","wb")) 
  puts("打開文件成功"); 
  else 
  puts("打開文件成敗");
  2.fclose()
  fclose()的功能就是關(guān)閉用fopen()打開的文件,其原型是:int fclose(FILE *fp);如果成功,返回0,失敗返回EOF。
  在程序結(jié)束時(shí)一定要記得關(guān)閉打開的文件,不然可能會(huì)造成數(shù)據(jù)丟失的情況,我以前就經(jīng)常犯這樣的錯(cuò)誤。
  例:fclose(fp);
  3.fputc()
  向流寫一個(gè)字符,原型是int fputc(int c, FILE *stream); 成功返回這個(gè)字符,失敗返回EOF。
  例:fputc(’X’,fp);
  4.fgetc()
  從流中讀一個(gè)字符,原型是int fputc(FILE *stream); 成功返回這個(gè)字符,失敗返回EOF。
  例:char ch1=fgetc(fp);
  5. fseek()
此函數(shù)一般用于二進(jìn)制模式打開的文件中,功能是定位到流中指定的位置,原型是 int fseek(FILE *stream, long offset, int whence);如果成功返回0,參數(shù)offset是移動(dòng)的字符 數(shù),whence是移動(dòng)的基準(zhǔn),取值是:
  符號(hào)常量 值 基準(zhǔn)位置
  SEEK_SET 0 文件開頭
  SEEK_CUR 1 當(dāng)前讀寫的位置
  SEEK_END 2 文件尾部
  例:fseek(fp,1234L,SEEK_CUR);//把讀寫位置從當(dāng)前位置向后移動(dòng)1234字節(jié)(L后綴表示長整數(shù))
  fseek(fp,0L,2);//把讀寫位置移動(dòng)到文件尾
  6.fputs()
  寫一個(gè)字符串到流中,原型int fputs(const char *s, FILE *stream);
    例:fputs("I Love You",fp);
  7.fgets()
  從流中讀一行或指定個(gè)字符,原型是char *fgets(char *s, int n, FILE *stream); 從流中讀取n-1個(gè)字符,除非讀完一行,參數(shù)s是來接收字符串,如果成功則返回s的指針,否則返回NULL。
  例:如果一個(gè)文件的當(dāng)前位置的文本如下:
  Love ,I Have
  But ……..
  如果用
  fgets(str1,4,file1);
  則執(zhí)行后str1="Lov",讀取了4-1=3個(gè)字符,而如果用
  fgets(str1,23,file1);
  則執(zhí)行str="Love ,I Have",讀取了一行(不包括行尾的’\n’)。
  8.fprintf()
  按格式輸入到流,其原型是int fprintf(FILE *stream, const char *format[, argument, …]);其用法和printf()相同,不過不是寫到控制臺(tái),而是寫到流罷了。
  例:fprintf(fp,"%2d%s",4,"Hahaha");
  9.fscanf()
  從流中按格式讀取,其原型是int fscanf(FILE *stream, const char *format[, address, …]);其用法和scanf()相同,不過不是從控制臺(tái)讀取,而是從流讀取罷了。
  例:fscanf(fp,"%d%d" ,&x,&y);
  10.feof()
  檢測是否已到文件尾,是返回真,否則返回0,其原型是int feof(FILE *stream);
  例:if(feof(fp))printf("已到文件尾");
  11.ferror()
  原型是int ferror(FILE *stream);返回流最近的錯(cuò)誤代碼,可用clearerr()來清除它,clearerr()的原型是void clearerr(FILE *stream);
  例:printf("%d",ferror(fp));
  12.rewind()
  把當(dāng)前的讀寫位置回到文件開始,原型是void rewind(FILE *stream);其實(shí)本函數(shù)相當(dāng)于fseek(fp,0L,SEEK_SET);
  例:rewind(fp);
  12.remove()
  刪除文件,原型是int remove(const char *filename); 參數(shù)就是要?jiǎng)h除的文件名,成功返回0。
  例:remove("c:\\io.sys");
  13.fread()
從流中讀指定個(gè)數(shù)的字符,原型是 size_t fread(void *ptr, size_t size, size_t n, FILE *stream);參數(shù)ptr是保存讀取的 數(shù)據(jù),void*的指針可用任何類型的指針來替換,如char*、int *等等來替換;size是每塊的字節(jié)數(shù);n是讀取的塊數(shù),如果成功,返回實(shí)際讀 取的塊數(shù)(不是字節(jié)數(shù)),本函數(shù)一般用于二進(jìn)制模式打開的文件中。
  例:
   以下是引用片段:
char x[4230]; 
  FILE *file1=fopen("c:\\msdos.sys","r"); 
  fread(x,200,12 ,file1);//共讀取200*12=2400個(gè)字節(jié)
  14.fwrite()
與fread對(duì)應(yīng),向流中寫指定的數(shù)據(jù),原型是 size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream);參數(shù) ptr是要寫入的數(shù)據(jù)指針,void*的指針可用任何類型的指針來替換,如char*、int *等等來替換;size是每塊的字節(jié)數(shù);n是要寫的塊數(shù), 如果成功,返回實(shí)際寫入的塊數(shù)(不是字節(jié)數(shù)),本函數(shù)一般用于二進(jìn)制模式打開的文件中。
    例:
   以下是引用片段:
  char x[]="I Love You"; 
  fwire(x, 6,12,fp);//寫入6*12=72字節(jié) 
  將把"I Love"寫到流fp中12次,共72字節(jié)
  15.tmpfile()
  其原型是FILE *tmpfile(void); 生成一個(gè)臨時(shí)文件,以"w+b"的模式打開,并返回這個(gè)臨時(shí)流的指針,如果失敗返回NULL。在程序結(jié)束時(shí),這個(gè)文件會(huì)被自動(dòng)刪除。
  例:FILE *fp=tmpfile();
  16.tmpnam();
  其原型為char *tmpnam(char *s); 生成一個(gè)唯一的文件名,其實(shí)tmpfile()就調(diào)用了此函數(shù),參數(shù)s用來保存得到的文件名,并返回這個(gè)指針,如果失敗,返回NULL。
  例:tmpnam(str1);

posted on 2008-09-12 17:07 閱讀(785) 評(píng)論(0)  編輯 收藏 引用 所屬分類: c++開發(fā)具體技術(shù)

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲第一在线综合在线| 午夜精品999| 久久夜色精品国产噜噜av| 亚洲欧美日韩国产成人| 欧美激情第8页| 欧美一区二区日韩一区二区| 国产精品欧美精品| 欧美在线视频观看| 欧美成人视屏| 欧美一区二区三区免费观看视频| 久久国产天堂福利天堂| 亚洲精品欧洲精品| 亚洲男同1069视频| 亚洲人成人99网站| 性做久久久久久免费观看欧美| 亚洲经典三级| 亚洲欧美日本视频在线观看| 亚洲国产日韩一区二区| 亚洲一区在线观看免费观看电影高清| 亚洲国产天堂久久综合| 亚洲欧美怡红院| 一区二区三区精品视频| 久热综合在线亚洲精品| 欧美一区深夜视频| 欧美日韩你懂的| 欧美成人午夜77777| 国产一区自拍视频| 亚洲欧美日韩国产成人| 宅男66日本亚洲欧美视频| 免费高清在线视频一区·| 欧美自拍偷拍午夜视频| 欧美三区在线视频| 亚洲人成高清| 在线欧美福利| 欧美一区二区黄色| 欧美一区国产二区| 国产精品视频不卡| 亚洲色图自拍| 亚洲午夜精品在线| 欧美日韩国产成人| 亚洲三级影院| 亚洲欧洲一区| 欧美大胆a视频| 欧美大片在线影院| 亚洲第一精品福利| 麻豆精品传媒视频| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲国产欧美在线人成| 加勒比av一区二区| 久久精品电影| 久久亚洲高清| 在线观看国产精品淫| 久久久噜噜噜久久| 欧美成人资源| 亚洲人成小说网站色在线| 欧美xxxx在线观看| 亚洲国产一区二区三区在线播| 最新日韩精品| 欧美精品电影| 艳妇臀荡乳欲伦亚洲一区| 在线一区二区三区做爰视频网站| 欧美日本国产在线| 国产精品99久久久久久久久| 香蕉av福利精品导航| 国产日韩一区二区三区在线| 欧美影院在线| 欧美激情国产日韩精品一区18| 亚洲日本中文字幕区| 欧美99在线视频观看| 亚洲一区二区三| 先锋影音一区二区三区| 国产精品一二三视频| 亚洲国产成人久久综合| 亚洲私人影吧| 午夜精品婷婷| 国内精品久久久久久久97牛牛| 久久久蜜桃一区二区人| 亚洲国产高清在线| 在线视频精品| 国产伦精品一区二区三区高清版 | 欧美日韩在线不卡| 夜夜狂射影院欧美极品| 久久精品国产清自在天天线| 永久久久久久| 欧美日韩一区二区三区高清| 午夜激情综合网| 欧美国产免费| 亚洲欧美日韩国产中文| 国产一区三区三区| 欧美交受高潮1| 性欧美大战久久久久久久免费观看| 欧美第一黄色网| 亚洲欧美一区二区三区在线| 在线免费不卡视频| 国产精品国产成人国产三级| 另类天堂av| 亚洲欧美日本国产有色| 亚洲电影免费观看高清| 欧美在线日韩| 在线一区免费观看| 亚洲第一二三四五区| 国产精品久久久亚洲一区| 久久一区精品| 午夜久久电影网| 99国内精品| 亚洲第一精品久久忘忧草社区| 香蕉久久一区二区不卡无毒影院| 亚洲国产视频一区二区| 国产专区精品视频| 国产精品你懂得| 欧美日韩国产首页| 老司机一区二区三区| 欧美一级日韩一级| 99视频+国产日韩欧美| 欧美国产日韩一二三区| 噜噜噜噜噜久久久久久91| 新狼窝色av性久久久久久| 一本一本久久| 亚洲日本电影| 亚洲国产成人午夜在线一区| 国产亚洲精品成人av久久ww| 国产精品www| 欧美精品v日韩精品v韩国精品v | 亚洲欧美日本伦理| 最近看过的日韩成人| 国内自拍视频一区二区三区| 国产精品久久久久久久久久尿| 欧美黑人多人双交| 蜜臀va亚洲va欧美va天堂| 久久久97精品| 久久久久久久久久看片| 欧美中在线观看| 久久精品av麻豆的观看方式| 欧美一区精品| 久久视频这里只有精品| 久久精品系列| 久久精品免费播放| 久久久国产视频91| 久久精品亚洲乱码伦伦中文| 欧美一区观看| 久久精品国亚洲| 久久综合成人精品亚洲另类欧美| 久久免费精品视频| 蜜桃伊人久久| 欧美激情综合| 最新国产成人av网站网址麻豆| 亚洲高清精品中出| 亚洲精品日产精品乱码不卡| 日韩视频在线观看免费| 一区二区免费在线观看| 亚洲综合视频一区| 欧美专区日韩专区| 久久亚洲不卡| 欧美福利视频在线| 欧美视频中文在线看| 国产精品一区在线观看你懂的| 国产精品香蕉在线观看| 国产亚洲精品一区二区| 一区在线视频| 日韩午夜在线电影| 亚洲一区二区三区免费在线观看| 亚洲欧美一区在线| 久久久久国产精品麻豆ai换脸| 免费短视频成人日韩| 亚洲片国产一区一级在线观看| 亚洲人人精品| 亚洲一区二区少妇| 久久久久一区二区三区四区| 欧美国产日本韩| 国产精品每日更新在线播放网址| 国产小视频国产精品| 亚洲欧洲一区二区三区| 午夜精品999| 欧美大胆成人| 亚洲永久免费精品| 美脚丝袜一区二区三区在线观看 | 欧美黄色一级视频| 亚洲精品欧美日韩专区| 亚洲一区二区网站| 欧美中文字幕在线观看| 久久久99精品免费观看不卡| 亚洲成人自拍视频| 亚洲性视频网址| 久久www成人_看片免费不卡| 欧美精品videossex性护士| 国产视频观看一区| 日韩视频―中文字幕| 久久激情视频久久| 亚洲看片一区| 久久精品国产免费看久久精品| 欧美国产成人在线| 国产在线欧美| 日韩亚洲综合在线| 最新国产成人av网站网址麻豆 | 久久久久国内| 欧美日韩在线免费视频| 伊人久久综合97精品| 亚洲一区二区三区中文字幕| 欧美成人精品影院| 香蕉久久a毛片|