【问题标题】:Taking substring from string between " sign // C++ Builder从 " 符号之间的字符串中获取子字符串 // C++ Builder
【发布时间】:2013-03-31 17:30:04
【问题描述】:

我在执行以下任务时遇到问题。我需要将其他程序的输出 txt 数据加载到我的程序中并搜索以下字符串:

“知”:97.92716217041016,

尤其是数值 (97.92...)。 "," 符号是其他导出值之间的分隔符。

我试图在 c++ builder 中通过以下方式处理这个问题:
1. 读取文件
2. 将行加载为字符串
3.找到zhi的位置
4. 将 6 添加到位置 - 这将指向数字
5. 删除新指针之前的所有内容
6.删除15个字符后的所有内容

我知道必须有一些更简单的方法,但我是 C++ 的初学者。

谁能指导我使用什么函数来查找“zhi”: 和 , 之间的数字?

【问题讨论】:

  • 这是 JSON 吗?如果是这样,请使用 JSON 解析器。
  • 是定位文件的问题还是解析字符串的问题?

标签: c++ string load substring c++builder


【解决方案1】:

使用std::getlinestd::string 类型读取文件。
使用string::find获取"zhi":之后的文字位置。
使用string::find 获取“,”的位置。
使用string::substr 获取两个位置之间的字符串副本。

请记住,在中间修改文件是很困难的,尤其是当您必须删除或插入更多字符时。

修改文件的传统方法是:
1. 将原始文件中所有未更改的内容复制到新文件中。
2. 将更改后的文本写入新文件。
3. 将剩余未更改的文本写入新文件。
4. 关闭所有文件。

【讨论】:

    猜你喜欢
    • 2016-03-24
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    相关资源
    最近更新 更多