文件操作

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中文件操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章