C語言基礎部分-文件操作

      網友投稿 763 2022-05-29

      文件操作

      基本說明

      文件:

      文件指存儲在外部介質(如磁盤磁帶)上數據的集合。 操作系統是以文件為單位對數據進行管理的。

      #include #include int main(){ FILE *fp; fp=fopen("./file.txt","r+"); if(NULL==fp){ perror("this is open problem"); goto end; } end: system("pause"); }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      #include #include int main(){ FILE *fp; fp=fopen("./file","r+"); if(NULL==fp){ perror("this is open problem"); goto end; } end: system("pause"); }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      perror

      語法: #include void perror( const char *str );

      1

      2

      3

      perror()函數打印str(字符串)和一個相應的執行定義的錯誤消息到全局變量errno中.

      #ifndef _FILE_DEFINED struct _iobuf { char *_ptr;//下一個要讀取的字符的地址 int _cnt;//剩余字符 char *_base;//緩沖區基地址 int _flag;//文件標識位 int _file;//文件描述符 int _charbuf;// int _bufsiz;//緩沖區大小 char *_tmpfname; }; typedef struct _iobuf FILE; #define _FILE_DEFINED #endif

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      “r” (只讀)為輸入打開一個文本文件“w” (只寫)為輸出打開一個文本文件“a” (追加)向文本文件尾增加數據“rb” (只讀)為輸入打開一個二進制文件“wb” (只寫)為輸出打開一個二進制文件"ab“ (追加)向二進制文件尾增加數據"r+“ (讀寫)為讀/寫打開一個文本文件"w+” (讀寫)為讀/寫建立一個新的文本文件"a+” (讀寫)為讀/寫打開一個文本文件"rb+“ (讀寫)為讀/寫打開一個二進制文件“wb+“ (讀寫)為讀/寫建立一個新的二進制文件“ab+” (讀寫)為讀/寫打開一個二進制文件

      文件函數:

      分類 函數名 功能 打開文件 fopen() 打開文件 關閉文件 fclose() 關閉文件 文件定位 fseek() 改變文件位置指針的位置 Rewind() 使文件位置指針重新至于文件開頭 Ftell() 返回文件位置指針的當前值 文件狀態 feof() 若到文件末尾,函數值為真 Ferror() 若對文件操作出錯,函數值為真 Clearerr() 使ferror和feof()函數值置零 文件讀寫 fgetc(),getc() 從指定文件取得一個字符 fputc(),putc() 把字符輸出到指定文件 fgets() 從指定文件讀取字符串 fputs() 把字符串輸出到指定文件 fread() 從指定文件中讀取數據項 fwrite() 把數據項寫到指定文件中 fscanf() 從指定文件按格式輸入數據 fprintf() 按指定格式將數據寫到指定文件中

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      fclose(文件指針);

      函數功能: 使文件指針變量不指向該文件,也就是文件指針變量與文件“脫鉤”,此后不能再通過該指針對原來與其相聯系的文件進行讀寫操作。

      返回值:關閉成功返回值為0;否則返回EOF(-1) 。

      fputc函數

      函數調用:fputc ( ch,fp ) ;

      函數功能: 將字符(ch的值)輸出到fp所指向的文件中去。

      返回值:如果輸出成功,則返回值就是輸出的字符;如果輸出失敗,則返回一個EOF。

      fgetc函數

      函數調用:ch=fgetc(fp);

      函數功能: 從指定的文件讀入一個字符,該文件必須是以讀或讀寫方式打開的。

      返回值:讀取成功一個字符,賦給ch。如果遇到文件結束符,返回一個文件結束標志EOF 。

      #include #include int main(int argc,char *argv[]){ FILE *fp; int i; for(i=0;i

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      #include #include int main(int argc,char *argv[]){ FILE *fp; int i; for(i=0;i

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      #include #include int main(int argc,char *argv[]){ FILE *fp; //int i; //for(i=0;i

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      #include #include int main(int argc,char *argv[]){ FILE *fp; //int i; //for(i=0;i

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      注意

      關閉文件

      主動刷新

      緩沖區寫滿

      #include #include int main(int argc,char *argv[]){ FILE *fp; //int i; //for(i=0;i

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      33

      34

      35

      36

      37

      C語言基礎部分-文件操作

      38

      39

      40

      fwrite和fread

      #include #include #include int main(int argc,char *argv[]){ FILE *fp; char buf[128]; int ret; fp=fopen(argv[1],"r+"); if(NULL==fp){ perror("this is open problem"); goto end; } strcpy(buf,"helloworld"); ret=fwrite(buf,sizeof(char),strlen(buf),fp); fclose(fp); end: system("pause"); }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      ##文件使用方式

      文件使用方式     含   義 “r” (只讀)為輸入打開一個文本文件 “w” (只寫)為輸出打開一個文本文件 “a” (追加)向文本文件尾增加數據 “rb” (只讀)為輸入打開一個二進制文件 “wb” (只寫)為輸出打開一個二進制文件 "ab“ (追加)向二進制文件尾增加數據 "r+“ (讀寫)為讀/寫打開一個文本文件 "w+” (讀寫)為讀/寫建立一個新的文本文件 "a+” (讀寫)為讀/寫打開一個文本文件 "rb+“ (讀寫)為讀/寫打開一個二進制文件 “wb+“ (讀寫)為讀/寫建立一個新的二進制文件 “ab+” (讀寫)為讀/寫打開一個二進制文件

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      區別

      r+

      寫入\n .實際存儲的是\r\n

      讀取時,\r\n會變成\n

      rb+

      寫入\n.實際存儲的是\n

      讀取時,\n讀取出來的是\n

      fseek函數(一般用于二進制文件)

      函數功能:改變文件的位置指針。

      函數調用形式:fseek(文件類型指針,位移量,起始點)起始點:

      文件開頭 SEEK_SET 0

      文件當前位置 SEEK_CUR 1

      文件末尾 SEEK_END 2

      位移量:以起始點為基點,向前移動的字節數。一般要求為long型。

      fseek函數應用舉例 fseek(fp,100L,0); 將位置指針移到離文件頭100個字節處。 fseek(fp,50L, 1); 將位置指針移到離當前位置50個字節處。 fseek(fp,50L, 2); 將位置指針從文件末尾處向后退10個字節。

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      C 語言

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Linux 文件基本屬性
      下一篇:Linux驅動開發_輸入子系統、觸摸屏坐標上報
      相關文章
      亚洲国产福利精品一区二区| 91久久亚洲国产成人精品性色| 99久久亚洲精品无码毛片| 伊人久久亚洲综合| 国产亚洲精aa成人网站| 久久精品国产精品亚洲下载| 亚洲AV无码一区二区三区牲色| 亚洲色偷偷综合亚洲AV伊人蜜桃| 亚洲 暴爽 AV人人爽日日碰| 亚洲三级视频在线观看| 亚洲第一永久在线观看| 91亚洲国产成人精品下载| 亚洲精品国产福利在线观看| 亚洲黄色三级网站| 亚洲午夜国产精品| 丁香婷婷亚洲六月综合色| 亚洲一本一道一区二区三区| 亚洲6080yy久久无码产自国产| 国产精品亚洲专区无码WEB | 久久久久久亚洲Av无码精品专口| 亚洲国产第一页www| 久久亚洲精品成人av无码网站| 久久久久亚洲AV无码永不| 久久久久亚洲av无码专区喷水| 久久精品国产亚洲AV无码娇色 | 亚洲国产区男人本色| 色婷婷亚洲一区二区三区| 日批日出水久久亚洲精品tv| 国产亚洲精品AA片在线观看不加载 | 亚洲人成片在线观看| 中文字幕乱码亚洲精品一区| 亚洲国产成人手机在线观看 | 亚洲综合自拍成人| 亚洲一卡2卡4卡5卡6卡残暴在线| 中文字幕亚洲码在线| 国产精品亚洲一区二区三区| 亚洲一区二区三区免费| 国产亚洲精品资源在线26u| 亚洲大片在线观看| 亚洲福利一区二区三区| 亚洲日韩亚洲另类激情文学|