1,文本文件和二進制文件
https://blog.csdn.net/double_happiness/article/details/71123809
2,文本文件的讀寫
打開文件的模式
//寫文件
FILE *fp=fopen("..\\1.txt", "w");// 打開文件
if (fp != NULL)
{
fwrite("11111111111nihao", 1, strlen("11111111111nihao"), fp);//寫文件
fseek(fp, 5, SEEK_END);//指針移動
fwrite("liuzhikuan",1, strlen("liuzhikuan"), fp);//寫文件
}
fclose(fp);//關閉文件
//讀取文件
char *pBuf;
FILE *pFile= fopen("..\\1.txt", "r");//打開文件
//創建緩衝區
fseek(pFile,0,SEEK_END);//指針移動到文本結尾
long len=ftell(pFile);//計算文本大小
pBuf = new char(len+1);//創建緩衝區大小
fseek(pFile, 0, SEEK_SET);//指針移動到文本開頭
if (pFile!=NULL)
{
fread(pBuf, 1, len, pFile);//讀取文件
pBuf[len] = 0;
}
fclose(pFile);//關閉文件
3,二進制文件的讀寫
//寫文件
FILE *pFile = fopen("..\\2.txt", "wb");
int a[10];
for (int i = 0; i < 10; i++)
{
a[i] = i;
}
if (pFile != NULL)
{
for (int j = 0; j < 10; j++)
{
fwrite(&a[j], 4, 1, pFile);
}
fclose(pFile);
}
//讀取文件
FILE *pFile = fopen("..\\2.txt", "rb");
if (pFile != NULL)
{
int a;
while (fread(&a, 4, 1, pFile))
{
printf("%d\n", a);
}
}
fclose(pFile);
4,保存文件是保存文本文件還是二進制文件?
二進制文件是基於值編碼的文件,可以看成是變長編碼,你可以根據自己的需要,決定多少個比特代表一個值。
在實際存儲中最好是將數據分成字符數據和非字符數據兩類:
如果存儲的是字符數據,無論採用文本文件還是二進制文件都是沒有任何區別的,所以討論使用文本文件還是二進制文件是沒有意義的。
如果存儲的是非字符數據,又要看我們使用的情況來決定:
a:如果是需要頻繁的保存和訪問數據,那麼應該採取二進制文件進行存放,這樣可以節省存儲空間和轉換時間。
B:如果需要頻繁的向終端顯示數據或從終端讀入數據,那麼應該採用文本文件進行存放,這樣可以節省轉換時間。
一般情況下都會保存爲字符數據
5,MFC中文件操作