一个关于字符串处理的问题!

Tomcat4 2004-12-09 05:23:41
109.6,187.8,0; 108,193.6,0; 109.8,195.5,0; 113.4,193.6,0;
117.4,187.8,0; 101.1,187.8,43.01; 99.67,193.6,42.41;
101.3,195.5,43.1; 104.6,193.6,44.52; 108.3,187.8,46.08;

上面是一个模型文件(只是一部分,三行),每行有3-4个点,每个点之间用分号格开,点的x,y,z坐标使用都好格开,现在想提取每个点的相应坐标并生成一个点的数组。问题是使用CString里面的什么函数能实现上面的功能,我看了MSDN,里面提到一个Tokenize函数,但是好像不是CString累的函数,步知道如何使用。
希望大侠们能指教一下,最好有代码,谢谢!
...全文
120 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongzm 2004-12-10
  • 打赏
  • 举报
回复
实现才最重要吧。不一定非要用Cstring吧?
leky2000 2004-12-10
  • 打赏
  • 举报
回复
字符串操作本来就很复杂的 呵呵
Tomcat4 2004-12-10
  • 打赏
  • 举报
回复
搞定!
while(file.ReadString(str)!=NULL)
{
//AfxMessageBox(str);
int pos1=0,pos2=0;
//pos2 = str.Find(';',pos1);
while((pos2 = str.Find(';',pos1))>0){
str1 = str.Mid(pos1,pos2-pos1)+",";
int pos3=0,pos4=0;
int index=0;
while((pos4 = str1.Find(',',pos3))>0){
str2[index++] = str1.Mid(pos3,pos4-pos3);
if(index==3)
{
Point3D p(atof(str2[0])/1000,atof(str2[1])/1000,atof(str2[2])/1000);
ptArray.push_back(p);
break;
}
pos3=pos4+1;
}
pos1 = pos2+1 ;
}
}
yanwenyuan0102 2004-12-09
  • 打赏
  • 举报
回复
何必一定用CString呢?
直接使用标准库里的strchr函数搜索指定的字符的位置,岂不是很简单
oyljerry 2004-12-09
  • 打赏
  • 举报
回复
用CString的Find查找到;
然后用Right,Mid,Left来截取
qrlvls 2004-12-09
  • 打赏
  • 举报
回复
CString 里没有转换函数
对于ANSI版本可以使用:
sscanf((LPCSTR)(LPCTSTR)szCString, "%f", &f);
3m2u 2004-12-09
  • 打赏
  • 举报
回复
fgets()
strtok()
while()
{
atof()
strtok()
}
晨星 2004-12-09
  • 打赏
  • 举报
回复
我是说CString。
晨星 2004-12-09
  • 打赏
  • 举报
回复
好像VC2002以上可以使用Tokenize。
Tomcat4 2004-12-09
  • 打赏
  • 举报
回复
谁知道Tokenize()怎么用啊?
smallcrocodile 2004-12-09
  • 打赏
  • 举报
回复
楼上:
是atof9()
danyueer 2004-12-09
  • 打赏
  • 举报
回复
补充:Find和Left是CString的成员函数,atoi是C++标准库函数。
danyueer 2004-12-09
  • 打赏
  • 举报
回复
调用序列:
Find
Left
atoi

用Find来寻找并定位各个“,”和“;”关键字,用Left来截取数据,用atoi来把字符串转换为数字。

16,472

社区成员

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

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

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