C語言學習筆記 lesson19 檔案處理函式

2021-07-23 15:11:34 字數 2508 閱讀 7521

二進位制

文字

檔案緩衝區,任何操作都是作用於緩衝區中,將檔案的資料讀取到緩衝區中,在處理整個檔案的時候,速度會更快

檔案的開啟方式

"r":唯讀 :只讀取內容 ,如果檔案不存在,會開啟失敗

"w":只寫:不開啟,往裡面寫入。 檔案存在,則會將原檔案內容清空,再寫入。如果不存在,則先新建,再新增。

"a":追加:在末尾加新內容。檔案存在,新增到末尾

"+" 更新模式  

"r+"可讀可寫,從頭開始讀寫,不存在不會新建

"w+" 可讀可寫

"a+"可讀可寫

"b" 二進位制方式開啟

文字檔案處理時用的不多,檔案的加解密,壓縮時使用

"x" 獨佔方式開啟

getc   :從流中取字元用 法: int 

getc

(file *stream);

fscanf 根據資料格式從輸入流中寫入資料  

int 

fscanf

(file*stream, constchar*format, [argument...]);

fgets   char*

fgets

(char*buf,intbufsize,file*stream)

putc   字元ch輸出到fp所指的檔案中 putc

(intch,file*fp)

fprintf 格式化輸出到乙個流/檔案中 int 

fprintf

( file *stream, const char *format, [ argument ]...)

fputs  將指定的字串寫入到檔案流中,其原型為: int

fputs

(char * string, file * stream); 

#define _crt_secure_no_warnings

#include

int main()

//file *fp = fopen("d:\\fos.txt", "r+");//使用r+新增,在檔案開頭會有游標,如果並沒有對檔案進行讀取,游標預設在開頭,新增會覆蓋開頭的值

file *fp = fopen("d:\\fos.txt", "a+");//使用a+,將檔案預設在結尾

char ch = 0;

while ((ch=getc(fp))!= eof)   //檔案不存在 ,getc會出錯

printf("\r\ninput (#end):\n");

while ((ch = getchar()) != '#')

fclose(fp);  //關閉緩衝區,把快取區內容寫入檔案

getchar();

return 0;

eof

ftell  獲取當前游標的位置

fseek

位置:seek_set開頭 

seek_cur 當前位置

seek_end 末尾

#include

char readoutputch(file *fp)

char ch = getc(fp);

putchar(ch);   //讀取輸出到螢幕上

return ch;

int main()

file *fp = fopen("d:\\fos.txt", "a+");  //使用a+,將檔案預設在結尾

if (fp != null)

long last = ftell(fp);  //linux下last和count一樣 ,windows下會把\n計算在內

fseek(fp, 0, seek_set); //游標移動到最前面

readoutputch(fp);  //讀取當前字元,游標+1

fseek(fp, last, seek_cur);  //游標移動到末尾

readoutputch(fp);       //讀取 值為空, 列印出空格

fseek(fp, -last, seek_end);    // 游標往前移動 ,到最前面

fclose(fp);//關閉緩衝區,把快取區內容寫入檔案

getchar();

return 0;

}

C語言學習筆記 lesson2 程式設計概述

在c語言中開發乙個程式有7個步驟 1.程式的目標 2.如何設計 3.程式設計的過程 4.程式測試 5.發行階段 6.bug修改 7.迭代更新 軟體工程師參與1,2,3,6,7.ide 整合開發環境 優勢 之前的開發程式都是自己手動建立工程資料夾,然後建立原始檔,當業務邏輯比較複雜時,採用ide可以節...

C語言學習筆記 lesson3 整數型別

c語言中用來表示資料是變數和常量,變數是能變化的值 整數變數 int short long unsigned 程式設計最小的單位 位bit 使用最多單位的最小的 位元組byte 字 4 位元組 雙字 8 位元組 較為基礎的數量單位 四種型別表示的大小範圍各不同 計算機想要訪問資料 必須告訴計算機在哪...

資料結構與演算法筆記 lesson 19 二叉樹

二叉樹 binary tree 是 n n 0 個結點的有限集合,該集合或者為空集 空二叉樹 或者由乙個根結點和兩課互不相交的 分別稱為根結點和左子樹和右子樹的二叉樹組成。每個結點最多有兩棵子樹,所以二叉樹中不存在度大於2的結點。空二叉樹 只有乙個根節點 根節點只有左子樹 根節點只有右子樹 根節點既...