小弟求救:文件的问题(在线等待) 为了实现一个功能:将文件开头的4个字节删除,并将其后面的内容移到开头 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 能不能具体些你们看看我做的,就是在文件结尾的地方出现了错误CFile file2((LPCTSTR)filename,CFile::typeBinary|CFile::modeReadWrite); TCHAR szBuffer[3001]; file2.Read(szBuffer,4); DWORD dwRead=0; dwRead=file2.Read(szBuffer,2996); file2.Seek(3000,CFile::end); file2.SeekToBegin(); file2.Write(szBuffer,dwRead); file2.SeekToBegin(); file2.Close(); 试试这个:CFile file2((LPCTSTR)filename,CFile::typeBinary|CFile::modeReadWrite);TCHAR szBuffer[3001];memset(szBuffer, '\0', 3001);DWORD dwRead = 0;file2.Seek(4, CFile::begin);dwRead = file2.Read(szBuffer, 2996);file2.SeekToBegin();file2.Write(szBuffer, dwRead);file2.Flush();file2.Close(); 用2个文件要好办得多。FILE *fpS,*fpD ;fpS = fopen( strPath1, "rb" ) ;fpD = fopen( strPath2, "w" ) ;fseek( fpS, 4, SEEK_SET ) ;int ch = EOF;while( (ch = fgetc(fpS))!=EOF ) fputc( ch, fputs(fpD) ) ;fclose(fpD);fclose(fpS);这里用了运行库,要改成MFC类,再加上错误判断应该容易嘛。 CFile file2; file2.Open("c:\\test.txt",CFile::modeReadWrite); long cont; cont=file2.GetLength()-4; file2.Seek(4,CFile::begin); char *buf=new char[cont]; file2.Read(buf,cont); file2.Close(); file2.Open("c:\\test.txt",CFile::modeReadWrite|CFile::modeCreate); file2.Write(buf,cont); file2.Close(); 如何从技术上继续提高自己 窗口之间发送消息的问题! 诚聘CTI开发工程师 SHBrowseForFolder的扩展 如何修改DOS控制台应用程序的图标啊? 请问高手,网络蚂蚁的区块是如何实现的最好有例子程序 关于按钮的一个弱智问题 已经有一个分割的视图,在其上面在实现一个总在最上的视图,请高手指教 用过BCG的朋友来看看------有关outlook bar的问题! 求救!!!xml中如何加入一个计数的变量 在线等!!急!数据库中的Image字段问题 怎么样实现MSN,或qq那种可展开可收缩的Control Bar?在线
你们看看我做的,就是在文件结尾的地方出现了错误
CFile file2((LPCTSTR)filename,CFile::typeBinary|CFile::modeReadWrite); TCHAR szBuffer[3001];
file2.Read(szBuffer,4);
DWORD dwRead=0;
dwRead=file2.Read(szBuffer,2996);
file2.Seek(3000,CFile::end);
file2.SeekToBegin();
file2.Write(szBuffer,dwRead);
file2.SeekToBegin();
file2.Close();
CFile file2((LPCTSTR)filename,CFile::typeBinary|CFile::modeReadWrite);TCHAR szBuffer[3001];
memset(szBuffer, '\0', 3001);
DWORD dwRead = 0;
file2.Seek(4, CFile::begin);
dwRead = file2.Read(szBuffer, 2996);
file2.SeekToBegin();
file2.Write(szBuffer, dwRead);
file2.Flush();
file2.Close();
FILE *fpS,*fpD ;
fpS = fopen( strPath1, "rb" ) ;
fpD = fopen( strPath2, "w" ) ;
fseek( fpS, 4, SEEK_SET ) ;
int ch = EOF;
while( (ch = fgetc(fpS))!=EOF ) fputc( ch, fputs(fpD) ) ;
fclose(fpD);
fclose(fpS);
这里用了运行库,要改成MFC类,再加上错误判断应该容易嘛。
file2.Open("c:\\test.txt",CFile::modeReadWrite);
long cont;
cont=file2.GetLength()-4;
file2.Seek(4,CFile::begin);
char *buf=new char[cont];
file2.Read(buf,cont);
file2.Close();
file2.Open("c:\\test.txt",CFile::modeReadWrite|CFile::modeCreate);
file2.Write(buf,cont);
file2.Close();