大概就是读取一个文件,我是这么写代码的:
FILE * inFile;
if ( ( inFile = fopen( mMsgPath.c_str(), "rb") ) == NULL ) {
return false;
}
fseek(inFile, 0, SEEK_END);
fileLen = ftell(inFile);
fseek(inFile,0, SEEK_SET);
char* infoData = new char[fileLen];
fread(infoData, 1, fileLen, inFile);
fclose(inFile);
然后我要从里头截取出“decode”和“over”之前的部分,并把截取的每一部分写入文件当中。我用strstr试了一下 居然找不到"over" 对指针不咋熟悉,大家帮我看看怎么实现这个功能?
MFC代码:
CString strTemp="";
strTemp = infoData;
long index_s=-1,index_e=-1;
index_s = strTemp.Find("decode);
if(index_s>=0)
{
index_e = strTemp.Find("over");
if(index_e >=0)
{
CString strResult = strTemp.Mid(index_s+6,index_e-index_s-6);//strResult就是“decode”和“over”之前的部分
}
}
看上去你的数据不是纯文本,是二进制数据,那么就不能用strstr,要用memmem。