文件内容:
/ 函数名称: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”
答案 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试用,并根据您的具体需求进行修改。请注意,它需要正则表达式而没有前导和结束/.
哦,我注意到你还要求提取工作,而我的例子只提取函数名称。但是当你得到这个概念时,你会到达那里。