读写文件(File)

#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

int main () {
	FILE * pFile;
	long lSize;
	char *buffer;
	size_t result;
	char *cPath = "G:\\timg.jpg";
	pFile = fopen ( cPath , "rb" );
	if (pFile==NULL) {fputs("File error",stderr); exit (1);}
	//获取文件的大小
	fseek (pFile , 0 , SEEK_END);
	lSize = ftell (pFile);
	rewind (pFile);//复位
	//为buffer分配内存
	buffer = (char*) malloc (sizeof(char)*lSize);
	if (buffer == NULL) {fputs ("Memory error",stderr); exit (2);}

	// copy the file into the buffer:

	long defSize = 1024;
	long i = 0;
	int j = 1;
	char *cNewPath = "F:\\timg.jpg";
	FILE *pNewFile;
	pNewFile = fopen (cNewPath,"a+b");
	while (i > -1)
	{
		cout<<i<<" : "<<fread (buffer, 1, defSize, pFile)<<endl;
		fwrite (buffer, sizeof(char), defSize, pNewFile);
		//fseek (pFile, 0, SEEK_CUR);
		i = lSize - defSize*j;
		j++;
	}
	// terminate
	fclose (pFile);
	free (buffer);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值