#include#include#includetypedef struct
data;
void test01()
if(data2.name != null) }
int main(int argc,char *ar**)
總結:前提就是指標變數 作為 結構體的成員淺拷貝:兩個結構體變數 中的 指標成員 指向 同一塊堆區空間。深拷貝:兩個結構體變數 中的 指標成員 指向 各自的堆區空間。
1、檔案的訪問過程
緩衝區的目的:提高訪問效率 磁碟使用壽命
2、磁碟檔案的分類0-2
物理上 所有的磁碟檔案都是 二進位制儲存,以位元組為單位 順序儲存。
邏輯上的檔案分類:
二進位制檔案:基於值編碼的檔案
總結:(重要)
3、檔案指標
注意:不要關係file的細節 只需要 會用file 定義指標變數就行:file *fp=null;
4、fopen開啟乙個檔案
檔案使用方式:
r:以唯讀的方式開啟檔案
w:以只寫的方式開啟檔案
a:以追加的方式開啟檔案(往檔案的末尾寫入資料)
+:以可讀可寫的方式開啟
b:以二進位制的方式開啟檔案
t:以文字的方式開啟檔案(省略)
開啟方式的組合形式:1-1
關閉檔案fclose
知識點3【檔案的位元組讀寫】
1、位元組的讀操作 fgetc函式
void test03()
//2、對檔案的操作 fgetc
while(1)
i++;
} printf("buf=%sn", buf);
//3、關閉檔案
fclose(fp);
}
執行結果:事先 本地 建立a.txt 檔案內容 為 hello file
2、位元組的寫操作 fputc
void test04()
//使用fputc進行檔案的資料寫入
printf("請輸入要寫入檔案的字串:");
fgets(buf,sizeof(buf),stdin);//會獲取換行符
buf[strlen(buf)-1] = 0;//去掉鍵盤輸入的換行符
//將字串buf中的元素 逐個寫入檔案中
while(buf[i] != '0')
fclose(fp);
}
練習:從乙個檔案(文字檔案)中讀取所有資訊,寫入另乙個檔案
void test05()
//以只寫的方式開啟b.txt
fp2 = fopen("b.txt","w");
if(fp2 == null)
//從fp1中 每讀取乙個 位元組 寫入到fp2中
while(1)
fclose(fp1);
fclose(fp2);
return;
}
1、使用fputs 往檔案中寫入乙個字串練習
void test06()
; int n = sizeof(buf)/sizeof(buf[0]);
file *fp = null;
int i=0;
fp = fopen("c.txt", "w");
if(fp == null)
for(i=0;i2、使用fgets從檔案中獲取字串
返回值:
成功:返回讀到字串的首元素位址
失敗:返回null
獲取檔案一行的資料:
void test07()
//err 開啟乙個檔案名叫"path" 而不是path指向的檔名"c.txt"
//fp = fopen("path", "r");
//fp = fopen("c.txt", "r");
while(fgets(buf,sizeof(buf),fp))
fclose(fp);
}
1、使用fwrite 將 資料塊 寫入到檔案中
typedef struct
hero;
void test08(), ,
, }; int n = sizeof(hero)/sizeof(hero[0]);
file *fp = null;
fp = fopen("hero.txt", "w");
if(fp == null)
//fwrite 將記憶體的資料原樣的 輸出到 檔案中
//寫入檔案的資料 不便於 使用者檢視 但是 不會影響 程式的讀
fwrite(hero, sizeof(hero), n, fp);
fclose(fp);
}
2、使用fread 從檔案中 讀取 資料塊練習
void test09()
fread(hero,sizeof(hero), 4, fp);
for(i=0;i<4;i++)
fclose(fp);
}
php函式fgets讀取檔案
如果乙個檔案比較大,可以考慮用fgets函式 下面是個例子 檔案作用 fgets讀取檔案 start time microtime true file name a.txt handle fopen file name,r i 0 if handle end time microtime true ...
python with as 進行檔案讀取
1.用with.as.來做檔案內容的讀取 在內容不多的情況下,如果檔案巨大,還是一行一行讀取吧 filename os.path.join self.data path,annotations index txt with open filename as f lines x.strip for x...
python讀取多行檔案的三種方法
如圖多行的資料檔案讀入,直接上 方法一 for line in open r c users desktop stat.txt print line 方法二 f open r c users desktop stat.txt r lines f.readlines for line in lines...