【问题标题】:Data retrieval from a string and consecutive writing into DB从字符串中检索数据并连续写入数据库
【发布时间】:2013-08-02 07:26:25
【问题描述】:

我有一个 .txt 文件,我使用 C++ 中的 getline() 函数逐行读取数据。每当我在文件中找到“函数”一词时,我需要从同一行中提取一些字符串/子字符串并将它们存储在数据结构中。我一直面临的困难和卡住的地方是,我正在使用 getline() 以字符串的形式读取行。但我无法存储子字符串,因为我不确定它们的结束位置。我需要逐个字符检查,直到遇到空格/空白,但不能这样做,因为它是字符串格式而不是字符......

【问题讨论】:

  • 你有什么问题?
  • C++11 对regular expressions 有很好的支持,或者如果你没有支持Boost have。或查看lex 和yacc 等工具。
  • 提取字符串的特定部分(A FUNCTION ABBBCCC ABCDDD),假设 FUNCTION 并写入下一部分直到用空格分隔(AABBBCCC)并将此信息写入数据库。
  • @JoachimPileborg lex 和 yacc 用于编译器设计,这些工具在这种情况下并没有多大用处。
  • @jnovacho 虽然 Lex 和 Yacc 主要用于简单的编译器/解释器类型的程序,但它们可以(并且现在)用于解析几乎任何类型的文本输入。

标签: c++


【解决方案1】:

您好,欢迎来到 SO。

您面临的问题已经解决了很多次。可能您能得到的最佳答案是this one。它包含详细说明如何在 C++ 中拆分字符串。希望对你有帮助。

【讨论】:

  • 好的,我将更具体地了解要求。
  • 好的,我将更具体地了解要求。假设一个字符串,.. AA BB CC DD EE FF。 1)首先我必须线性扫描文本文件中的多行[最好使用GETLINE()],对于特定的字符串,让我们说“BB”。 2)接下来,我必须将数据 dat 取代该字符串,由空格分隔,在这种情况下为“CC”,写入数据库(可以是数据库,不是主要问题)。 3) 除非到达 .TXT 文件的末尾,否则此过程应进行迭代。 PS:搜索字符串不一定需要在数据库中检索。我需要有关如何进行的帮助。
猜你喜欢
  • 1970-01-01
  • 2011-05-29
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 2017-10-10
  • 1970-01-01
  • 2018-01-12
  • 2017-05-01
相关资源
最近更新 更多