gpt4 book ai didi

c++ - 比较文件中的字符串行

转载 作者:行者123 更新时间:2023-11-28 08:14:05 26 4
gpt4 key购买 nike

我有一个我已经阅读过的文件,我想读取每一行,就好像它是一个字符串一样,并比较每一行以找到某些关键字,如果我找到这些关键字,则获取这些关键字中的所有内容并创建一个新的把它串出来。可能有多行具有相同的关键字,所以我想创建单独的字符串...

我现在有一些丑陋的代码,放在这里会很尴尬,有人能给我指出正确的方向吗...

如果你愿意,我可以把我的代码放在这里,但我必须解释很多。

AGU UAC AUU GCG CGA UGG GCC UCG AGA CCC GGG UUU AAA GUA GGU GA

GUU ACA UUG CGC GAU GGG CCU CGA GAC CCG GGU UUA AAG UAG GUG A

UUA CAU UGC GCG M GGC CUC GAG ACC CGG GUU UAA AGU AGG UGA

UGG M AAA UUU GGG CCC AGA GCU CCG GGU AGC GCG UUA CAU UGA

这将是我的文本文件的一部分。我想找到“M”,然后找到以下实例:1) UAA、2) UAG 或 3) UGA。并使每个字符串成为一个单独的字符串,以便我可以比较它们的长度。我尝试使用赋值运算符,但它每次都会打印出相同的字符串。

编辑。我想我想做的只是找到“M”的任何实例,当我这样做时,我想将整行变成一个字符串,以便我可以比较这些字符串。

ifstream code_File ("example.txt");   // open text file.
if (code_File.is_open()) {
while (code_File.good()) {


getline(code_File,line); //get the contents of file
cout << line << endl; // output contents of file on screen.


found = line.find_first_of('M', 0); // Finding start code
if (found != string::npos) {
code_Assign.assign(line, int(found), 100); //assign the line to code_Assign and print out string from where I found the start code 'M'.

cout << endl << "code_Assign: " << code_Assign << endl << endl;

最佳答案

对于 grepsedawk 标准 Posix 实用程序来说,这似乎是一项不错的任务。

如果你想在程序中(更快)使用它,请考虑使用标准 parsing技术,例如与 ANTLR

关于c++ - 比较文件中的字符串行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8208199/

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