c++ builder 文本选择性读取 怎么实现?可否给个例子!在此先谢谢了

kqtxmaster 2008-05-24 01:21:57
我是做一个 数控软件 的G代码编译

要读取文本里的这样一段

N00 GOO X100 Y500
N01 G01 X100 Y0 F0.5

我想能否选择性的读取 字母后面的数值 比如 读取X后面的100 Y后面的500 显示出来!

如何实现?

大家帮我看看,我搜了好几天 都没有弄成功!所以冒昧的在这里 第一次提问!
...全文
136 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kqtxmaster 2008-05-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jxw1987628 的回复:]
先用TStringList 取进来,

然后对每个Strings【i】(也就是每行)进行Pos判断,然后提取你要的东东!
[/Quote]
可否详细说说 如何 判断!
最后有个例子能说明下!
我这几天 搜了好多 试了好多 老成功不了
jxw1987628 2008-05-24
  • 打赏
  • 举报
回复
先用TStringList 取进来,

然后对每个Strings【i】(也就是每行)进行Pos判断,然后提取你要的东东!
我来看看CB 2008-05-24
  • 打赏
  • 举报
回复
全部读取,然后判断,只能如此
kqtxmaster 2008-05-24
  • 打赏
  • 举报
回复
jxw1987628 给的答案
测试成功
谢谢

——————————————————————————————————
TStringList *pStrList=0;
pStrList=new TStringList();
pStrList->LoadFromFile("C:\\1.txt");
AnsiString strTemp;
for(int i=0;i<pStrList->Count;i++)
{
strTemp=pStrList->Strings[i];
int nlen=strTemp.Length();
//X字符的位置
int xpos=strTemp.Pos("X");
//Y字符的位置
int ypos=strTemp.Pos("Y");
//X后面的东西,也就是你要的
AnsiString x=strTemp.SubString(xpos+1,ypos-xpos-1).Trim();
ShowMessage(x);
//Y后面的东西,也就是你要的
strTemp=strTemp.SubString(ypos+1,nlen-ypos-1);
ShowMessage(strTemp);

}
delete pStrList;
pStrList=0;
————————————————————————————————————

我这个是要读的数控程序 我先这样读一段测试下 再次感谢楼上各位
kqtxmaster 2008-05-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 stoneyrh 的回复:]
你没有读出来,怎么可能有选择?
只能是先全部读出来,再根据你的需要选择
[/Quote]
TStringList *a = new TStringList;
a->LoadFromFile("aaaa.txt");

我这样读出来以后 该怎么选择
stoneyrh 2008-05-24
  • 打赏
  • 举报
回复
你没有读出来,怎么可能有选择?
只能是先全部读出来,再根据你的需要选择

551

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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