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 這裡...