使用c ++

时间:2017-06-14 05:22:07

标签: c++

文件内容:

  

/ 函数名称:input \ n \ t \ tworking:输入详细信息\ n \ t \ t /

     

/ *功能名称:datawrite \ n \ t \ twork:将数据写入文件   * /

     

/ 函数名称:dataread \ n \ tworking:读取文件中的数据   显示 /

     

/ *功能名称:accsummary \ n \ t \ tworking:显示内容   特定人的文件* /

我想从文件中仅提取“函数名称”和“工作”,并将它们存储到字符串数组中。 “使用c ++” 也就是说,如果我已经声明了一个字符串函数数组[10],那么这应该类似于“working”存储“input,datawrite,dataread,accsummary”

2 个答案:

答案 0 :(得分:0)

您需要查看std::stringstream课程: http://www.cplusplus.com/reference/sstream/stringstream/

然后,您需要查看substr中的std::string方法: http://www.cplusplus.com/reference/string/string/substr/

答案 1 :(得分:0)

这听起来像regular expression的任务。在C ++中,支持regex,尤其是regex_match。 我想,这应该让你开始。但要注意,你想要完成的事情不会通过简单的正则表达式来解决 您的匹配字符串可能类似于此

/\/function name: ([^\\]*).*/

这将查找字符串“function name:”,后跟除\之外的任何字符。然后是直到行尾的任何字符。第二部分将被记住,可以通过regex_match访问。

在线regex tester试用,并根据您的具体需求进行修改。请注意,它需要正则表达式而没有前导和结束/.

哦,我注意到你还要求提取工作,而我的例子只提取函数名称。但是当你得到这个概念时,你会到达那里。