fenyujinian 2017-06-15 00:58 采纳率: 0%
浏览 2933

怎么在一个char*字符串中截取出两个指定子串的中间部分?

大概就是读取一个文件,我是这么写代码的:
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" 对指针不咋熟悉,大家帮我看看怎么实现这个功能?图片说明

  • 写回答

2条回答 默认 最新

  • qian337816953 2017-06-15 10:35
    关注

    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”之前的部分
    }
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 spring后端vue前端
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题