文件读写的“二进制模式”和“文本模式”
生活随笔
收集整理的這篇文章主要介紹了
文件读写的“二进制模式”和“文本模式”
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
二進(jìn)制模式:將內(nèi)存中的數(shù)據(jù)(01序列)直接傳送到文件中,沒有任何轉(zhuǎn)換。如:char ch = 0x7d; fwrite(&ch, sizeof(char), 1, pfile);直接把0x7d這個(gè)01序列存儲到文件中。
文本模式:將內(nèi)存中的數(shù)據(jù)(01序列),通過文本格式控制,轉(zhuǎn)化成可理解的字面意義,將轉(zhuǎn)化后的字面意義輸入到文件中,從字面意義到文件又進(jìn)行一次轉(zhuǎn)化,將字面意義轉(zhuǎn)化成01序列存儲起來。如:char ch = 0x7d; fprintf(fp, “%d”, ch);這個(gè)過程就是0x7d -->123-->0x31 0x32 0x37的二進(jìn)制序列存儲到二進(jìn)制文件中,再用vim之類的文本編輯器打開文件時(shí)就可以看到123這個(gè)字面意義。
實(shí)驗(yàn)代碼:
#include<stdio.h> int main(int argc, char *argv[]) { FILE *pfile = NULL; FILE *pfile2 = NULL; char *file_name = "myfile.bin";char *file_name2 = "myfile.txt";char ch = 0x7d; pfile = fopen(file_name, "wb"); pfile2 = fopen(file_name2, "w");size_t wcount = fwrite(&ch, sizeof(char), 1, pfile);fprintf(pfile2, "%d", ch);return 0; }
注意事項(xiàng):
使用fopen打開文件后可以一直往里面追加,不用重新打開,當(dāng)完全寫入完畢時(shí),fclose要關(guān)閉,否則會(huì)出現(xiàn)莫名的錯(cuò)誤。
總結(jié)
以上是生活随笔為你收集整理的文件读写的“二进制模式”和“文本模式”的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python函数参数类型及顺序_pyth
- 下一篇: js乱码解决