gpt4 book ai didi

c++ - 有没有更简单的方法来调用 “funnel”?

转载 作者:行者123 更新时间:2023-12-03 07:08:44 25 4
gpt4 key购买 nike

我正在编写一个处理读取文本文件的程序。
基于文件中每一行的开始关键字,我想调用其他函数。

void funnel(string line) {
if (line.find("Keyword1", 0) == 0){
call_function1();
}
else if (line.find("Keyword2", 0) == 0){
call_function2();
}
else if (line.find("Keyword3", 0) == 0){
call_function3();
}
............
}
有没有更简单/更好/更有效的方法来执行此操作,或者我被此无效的漏斗程序卡住了?
ClientConnect: (blake_won) ID: 0 (IP: 192.168.0.177:29071)
Kill: 0 0 7: blake_won killed blake_two by MOD_SWORD
这些行看起来像这样,我想根据每个开始关键字调用一个适当的函数。该文件不是我自己的,因此我无法控制所写内容。

最佳答案

I am writing a program that deals with reading a text file.


给定您的示例,我至少会考虑 在您的程序中嵌入一些现有的解释器,例如 LuaGuile(或者可能是 Python)。
重用现有解释器的优点对于您(作为开发人员)和您的用户而言都是如此。
  • 作为开发人员,您正在重用一些成熟的开源软件,并节省了宝贵的开发人员精力。
  • 您的软件用户可以引用现有的文档和示例。

  • 请注意,嵌入某些解释器是一个主要的软件体系结构决策。
    解释器强加了一些编码规则(特别是与内存管理和 garbage collection有关的编码规则)。
    或者,详细了解 parsing(例如 Dragon book的前半部分),并使用一些解析器生成器,例如 GNU bisonANTLR确保首先记录(以EBNF表示法)有效输入的语法。

    关于c++ - 有没有更简单的方法来调用 “funnel”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64662766/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com