字符串截取 请教

asplha 2012-03-31 03:02:39
Cstring a变量里面有很多数据,我想从这个数据搜索指定的字符并截取。
比如a内容是 abcd1234|abcd7881123|abcdsadasd|...。。
我想把每个abcd 后面到|中间的字符取出来 请问要怎么做。
...全文
189 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
用户 昵称 2012-04-02
  • 打赏
  • 举报
回复
俺建议将前面的写法封装成一个函数类似这样

TCHAR * gettoken( TCHAR *p, TCHAR *resultbuf );

写起来很简单,用起来很强大
信阳毛尖 2012-04-01
  • 打赏
  • 举报
回复
CString::Find
CString::Right

两次得到abcdsadasd|...。。
剩下的就不说了
kyotrue 2012-04-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
我用的
CString::Find
CString::Mid

但是只能取到第一个abcd 和|中间的字符,
我的做法是 先用Find查找到 第一个abcd的位置i,然后在查找 第一个|的位置j 然后 在Mid(i,j);
但是第二个字符串怎么得到啊
[/Quote]

第一个取完了,就用CString::Right截取字符串,把第一个|之前的删掉
draracle 2012-03-31
  • 打赏
  • 举报
回复
sscanf 这个函数就可以搞定一切。
路道飞 2012-03-31
  • 打赏
  • 举报
回复
Find 取得abcd位置 i,|位置 j
Mid(i+4,j-i)取得abcd 和|中间的字符.

CString str="abcd1234|abcd7881123|abcdsadasd";
CString temp;
int begin=0,end=0,lengh;
lengh=str.GetLength();

while(end<lengh)
{
begin=str.Find("abcd",end)+4;
if(begin<end||begin>=lengh)
{
break;
}
end=str.Find("|",end);
if(end<0)
{
end=lengh;
}

temp=str.Mid(begin,end-begin);
cout << (LPCTSTR)temp << endl;
end++;
}
asplha 2012-03-31
  • 打赏
  • 举报
回复
我用的
CString::Find
CString::Mid

但是只能取到第一个abcd 和|中间的字符,
我的做法是 先用Find查找到 第一个abcd的位置i,然后在查找 第一个|的位置j 然后 在Mid(i,j);
但是第二个字符串怎么得到啊
jaynaviee 2012-03-31
  • 打赏
  • 举报
回复
// 从右往左边开始查找第一个'\\',获取左边字符串的长度
int len = strFile.ReverseFind( '\\');

// 获取'\\'左边的字符串
CString strFilePath = strFile.Left( len+1 );

// 获取'\\'右边的字符串
CString fileName = strFile.Right(strFile.GetLength() - len-1);



'\\'可以是其它符号
ouyh12345 2012-03-31
  • 打赏
  • 举报
回复
CString::Find
CString::Mid
acrifyh 2012-03-31
  • 打赏
  • 举报
回复
用查找之后截取就可以了
Eleven 2012-03-31
  • 打赏
  • 举报
回复
CString::Tokenize()

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧