C語言 第十三章

2021-10-08 10:56:53 字數 1480 閱讀 7320

1.與檔案進行通訊

檔案是什麼?

檔案通常是在磁碟或固態硬碟上的一段已命名的儲存區。

c把檔案看作一系列的連續的位元組,每個位元組都能被單獨讀取。

2.標準i/o

fopen()函式

fclose()函式

getc()函式 (從標準輸入中獲取乙個字元)

char ch;

file *fp;

fp=fopen("yls.txt","r");

ch=getc(fp);

printf("%c",ch);

fclose(fp);

putc()函式 (將字元ch寫入檔案中,第二個引數是檔案指標)

char ch;

file *fp;

file *fp1;

fp=fopen("yls.txt","r");

fp1=fopen("yls1.txt","w");

ch=getc(fp);

putc(ch,fp1);

fclose(fp);

fclose(fp1);

getc()和putc() 與 getchar()和putchat()的區別在於前者需要乙個檔案指標fp,來說明從指定的檔案中獲取乙個字元。(注意,是獲取單個字元)

3.檔案i/o

fscanf()函式和fprintf()函式

與scanf()和printf()的區別是前者需要第乙個引數來指定待處理的檔案,一般都是指向檔案的指標fp。

#include#include#define stop '#'

#define n 3

int main(void)

{ int a[n];

int b[n];

file *fp;

fp=fopen("yls.txt","r");

for(int i=0; i3.標準i/o和檔案i/o的區別

有的書上說其主要區別在於檔案i/o函式要用file指標指定待處理的檔案。但是你會發現getc()和puts()函式也是使用了檔案指標。而且二者的輸出,都可以輸出到指定檔案或者螢幕上(使用printf()函式即可)。

那麼主要區別到底是什麼?

其實二者之間最大的區別就是帶不帶快取。

標準檔案io,他們是通過呼叫標準庫函式,間接的呼叫系統呼叫。而檔案io時直接通過系統呼叫。(聽起來好像就是直接呼叫間接呼叫的區別,但詳細分析還是挺麻煩的,所以想詳細了解的可以自己查)

那麼我們平時輸入/輸出檔案用哪乙個?

一般使用檔案i/o,很明顯,如果想讀取檔案中特定的字元,只需要對應好位置肯定是檔案i/o更方便。

注:c把檔案看作一系列的連續的位元組,每個位元組都能被單獨讀取。

譚浩強C 第十三章

1 cerr標準錯誤流使用 p408 include include using namespace std intmain else else return0 2 按照格式輸出 p410 使用流成員函式控制輸出格式 include using namespace std intmain retur...

第十三章 併發

13.1 動機 13.2 基本執行緒 如果必須要控制現成的執行順序,最好是根本不用執行緒,而是自己編寫特定順序彼此控制的協作子程式。繼承thread類或者實現runnable介面。內部類實現。13.3 共享受限資源 1 如果要對類中的某個方法進行同步控制,最好同步所有方法。如果忽略了其中乙個,通常很...

第十三章 類

1.類簡單地說是乙個性的資料型別。類當中有資料成員,和成員函式。類的基本思想就是體現出資料的抽象和封裝。2.這裡只需要說明乙個問題即可 就是類成員函式的const型別 class screen public const int get const int i const int j const 這裡...