【发布时间】:2010-04-23 19:34:36
【问题描述】:
我已经阅读 SO 有一段时间了,但我真的无法为我的问题找到任何帮助。
我有一个创建 IAS 模拟器的 c++ 任务。
这里是一些示例代码...
0 1 a
1 2 b
2 c
3 1
10 begin
11 . load a, subtract b and offset by -1 for jump+
11 load M(0)
12 sub M(1)
13 sub M(3)
14 halt
使用 c++,我需要能够读取这些行并将它们存储在我已经构建的“内存寄存器”类中......
例如,第一行需要在寄存器 0 中存储“1 a”。
如何解析出行首的数字,然后将其余的存储为字符串?
我使用一个使用mem.set(int, string); 调用的类来设置存储。 int 是行首的内存位置,string 是存储的指令。
编辑:一些澄清:
- 我必须使用标准库
- 输入文件的语法在这里:http://www.cs.uwyo.edu/~seker/courses/2150/iascode.pdf
- 加载程序将覆盖重复的行条目。这意味着示例中的第一行 11 将被第二行覆盖。
【问题讨论】:
-
在 C++ 中读取文件和解析字符串非常烦人(比 C# 或其他现代语言困难得多)。一点小提示:stackoverflow.com/questions/194465/…
-
感谢您的提醒!我刚刚给我的教授发了电子邮件,我们只能使用 STANDARD 库,所以这会很痛苦。
-
@brad 看起来你手上有一位严厉的老师 :)
-
下面的一些例子怎么样:codeproject.com/KB/recipes/Tokenizer.aspx 它们非常高效而且有点优雅。字符串工具包库使 C++ 中的复杂字符串处理变得简单易行。
-
有人对大部分答案投了反对票...
标签: c++ string parsing numbers