file *pf = fopen("test.txt", "w");
fputc('a', pf);
fputc('b', pf);
fputc('c', pf);
fclose(pf);
用只寫形式開啟乙個檔案,建立乙個新的檔案,結果生成乙個test.txt檔案,fputc函式寫入字元,內容為abc.
2.字元輸入函式(乙個乙個讀):fgetc
例如:
file *pf = fopen("test.txt", "r");
if (pf == null)
printf("%c\n", fgetc(pf));
printf("%c\n", fgetc(pf));
printf("%c\n", fgetc(pf));
fclose(pf);
pf = null;
用唯讀形式開啟上面生成的檔案,用fgetc函式讀字元,結果為a b c.
3.文字行輸出函式:fputs(寫入文字)
例如:
file *pf = fopen("test1.txt", "w");
fputs("zhangsan\n", pf);
fputs("lisi\n", pf);
fputs("wangwu\n", pf);
用只寫形式建立乙個檔案,用fputs函式寫入文字,結果為生成乙個檔案test1.txt,內容為zhangsan lisi wangwu.
4.文字行輸入函式:fgets(讀文字)
例如:
char buf[20] = ;
file *pf = fopen("test1.txt", "r");
if (pf == null)
fgets(buf, 20, pf);
printf("%s", buf);
fgets(buf, 20, pf);
printf("%s", buf);
fgets(buf, 20, pf);
printf("%s", buf);
fclose(pf);
pf = null;
fgets函式要將檔案中的內容儲存到一塊空間buf中,結果為zhangsan lisi wangwu.
5.格式化輸出函式 fprintf(寫檔案)
例如:
struct s
;int main()
; fprintf(pf, "%s %d %f",s.name,s.age,s.i);
fclose(pf);
pf = null;
return 0;
}
用只寫形式建立乙個test2.txt檔案,用fprintf函式寫入結構體的內容.
6.格式化輸入函式 fscanf(讀檔案)
例如:
file *pf = fopen("test2.txt", "r");
struct s s = ;
fscanf(pf,"%s %d %f", s.name, &(s.age), &(s.i));
printf("%s %d %f\n", s.name, s.age, s.i);
fclose(pf);
pf = null;
結果為zhangsan 20 3.140000,因為上一步寫入了此內容,用唯讀形式開啟檔案,用fscanf讀檔案.
7.記憶體輸出函式 sprintf(將結構體轉換為字串,涉及到記憶體)
例如:
struct s
;int main()
; char buf[30] = ;
struct s tmp = ;
sprintf(buf, "%s %d %lf", s.name, s.age, s.d);//將結構體轉換為字串,涉及到的是記憶體
printf("%s\n", buf);
return 0;
}
結果為張三 20 3.54
8.記憶體輸入函式 sscanf
例如:
//從buf中獲取乙個格式化的資料,放入tmp中
sscanf(buf, "%s %d %lf", tmp.name, &(tmp.age), &(tmp.d));
printf("%s %d %lf\n", tmp.name, tmp.age, tmp.d);
結果為張三 20 3.54
9.二進位制輸出 fwrite (以二進位制形式寫入)
例如:
struct s
;int main()
; if (pf == null)
fwrite(&s, sizeof(struct s), 1, pf);
fclose(pf);
pf = null;
return 0;
}
10.二進位制輸入 fread(以二進位制形式讀)
例如:
file *pf = fopen("test5.txt", "rb");
struct s s = ;
if (pf == null)
fread(&s, sizeof(struct s), 1, pf);
printf("%s %d %f\n", s.name, s.age, s.d);
fclose(pf);
pf = null;
以二進位制形式唯讀開啟檔案,用fread函式讀出檔案中的內容,為上面已經寫入的zhangsan 20 5.6.
file *pf = fopen("test.txt", "r");
if (pf == null)
printf("%c\n", fgetc(pf));
/*fseek(pf, 3, seek_cur);*/
/*fseek(pf, -2, seek_end);*///從檔案末尾偏移
fseek(pf, 4, seek_set);//起始位置偏移
seek_cur為當前位置,seek_end為末尾,seek_set為起始位置,例如讀的檔案的內容為abcdef,在第一次fgetc(pf)時讀到的內容為a,如果第二次想要讀到e,可以偏移3個,因此可以用fseek(pf, 3, seek_cur)表示從當前位置讀三個偏移量得到e,也可以用fseek(pf, -2, seek_end)表示從檔案末尾偏移-2到e,也可以為fseek(pf, 4, seek_set) 表示從起始位置偏移4個到e.
2.ftell函式(返回檔案指標相對於起始位置的偏移量)
3.rewind函式
例如:
rewind(pf);
printf("%c\n", fgetc(pf));//讓檔案回到起始的位置
rewind函式是讓檔案指標回到檔案的起始位置 C語言基礎 14 檔案操作
calderon函式也可以動態分配記憶體 這個函式可以把分配的所有記憶體內容都設定成0 這個函式也需要包含 stdlib.h標頭檔案 這個函式需要兩個引數,第乙個引數表示希望分配的儲存區個數,第二個引數表示單個儲存區的大小 這個函式的返回值是分配好的第乙個儲存區的位址 這個函式也可能失敗,如果失敗則...
C語言隨筆(七)檔案操作
通過程式實現檔案的讀取操作 為了方便函式的呼叫,c檔案之間呼叫函式通常使用.件進行宣告 將需要用到的函式宣告在.件中。首先我們要讀取的檔案內容為 這是我的的ip位址 ip 127.0.0.1 這是我的埠 port 8080 這是使用者名稱 username root 這是密碼 password ro...
7 檔案操作方法
執行python的三個步驟 1 啟動python直譯器 2 直譯器將test.py的內容從硬碟讀入記憶體 3 直譯器執行剛剛讀入記憶體的 識別python語法,比如 x 上 編碼 編碼 字元 unicode 其他編碼 解碼 解碼 字元 unicode 其他編碼 print x res x.encod...