本文共 848 字,大约阅读时间需要 2 分钟。
申请内存,并读入文件如下:
CString srcPath = "D://My Documents//My Pictures//新建文件夹//知知.bmp"; //源文件CString descPath = "D://My Documents//My Pictures//新建文件夹//new知知.bmp";//新生成的文件CFile descFile(m_descPath, CFile::modeCreate | CFile::modeWrite);//打开目标文件,做好准备写入CFile srcFile; if( !srcFile.Open( srcPath , CFile::modeRead) ){ printf("打开源文件错误");}int srcFileLen = srcFile.GetLength(); //源文件长度char* bmpBuffer = new char[srcFileLen + 1];//申请大块内存if(!bmpBuffer ){printf("内存申请失败");}if(srcFile.Read(bmpBuffer,srcFileLen) != srcFileLen){//将文件读到内存 printf("文件读取失败");}descFile.Write(bmpBuffer, srcFileLen);descFile.close();///以上程序的功能是将整个文件读入内存,然后再写入一个新的文件,///现在需要修改:整个文件已加载到内存,循环读取内存,每次读1024个字节,保存到新文件中(或是socket发送出去)///memcpy函数参数介绍:memcpy(char * desc, char * src, int count)desc:目标地址,src:源地址,count:从src中读取的字节数,但这个函数返回的是指向desc的指针,我需要返回的是src第1024以后的指针,。。。。。。转载地址:http://pauli.baihongyu.com/