c++ - 在 C++ 中解析字符串

标签 c++ string parsing casting integer

我正在尝试为接受字符串作为图类的构造函数 参数并使用它来构建图形。

字符串格式如下:|vertex list|Edges list| 例如|1,2,3,4,15|(1->2),(3->2),(4->15)|

这个想法是构造函数将从字符串中获取值,然后 知道执行以下操作(将顶点插入顶点列表 然后将边插入到边列表中):

addVertex(1)  
addVertex(2)  
addVertex(3)  
addVertex(4)  
addVertex(15)  
addEdge(1,2)  
addEdge(3,2)  
addEdge(4,15)  

我会做几个“for”循环来扫描字符串,但我不知道 如何处理双(或更多)数字。我开始想象各种 非常复杂的 for 循环,我想知道这里是否有人可以分享 与我一起提取和使用这些数据的任何更智能的方法。

最佳答案

看着整件事,您似乎不知所措。把它分解成碎片……任务。您尝试做的似乎是这里的独立功能。

  1. 代币化
  2. 解析顶点
  3. 解析边
  4. 在顶点上执行
  5. 边缘执行

大约有 5 个函数。

您想要基于竖线 (|) 进行分词,因此采用基于竖线的子字符串并将每一侧传递给适当的解析器,解析逗号等。

我不会为您做这件事,但希望我能让您朝着正确的方向思考。学习编程与其说是某种特定的语言,不如说是改变你的思维方式。

关于c++ - 在 C++ 中解析字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/831111/

相关文章:

sql - 使用 Perl 将简化的 SQL 查询解析为 SQLite

c++ - QDial 更改位置指示器文本

java - Java 中的 UTF-8 和 UTF-16

c++ - 在 C 项目中可重用的 C++ 功能的最小集合导致(几乎?)零胶合代码

javascript - 使用 javascript 抓取所选内容周围的单词和同一 <p> 元素的一部分?

string - Visual Basic 字符串工具

python - python中的数据库连接字符串解析

c++ - 为了在提升精神中使用 limit_d 指令,我应该包含哪些头文件?

c++ - 使用复制构造函数创建的对象的生命周期

c++ - 在 C++ 中向远程 rsyslog 发送消息