谢谢,这样处理没有问题了。可我又发现一个新问题 - 如果从第三行起,还有多行文字,就是说要在多行文字中去找第二行的字符串,程序处理就不对了
时间: 2024-12-15 21:14:29 浏览: 22
明白了,如果想在多行文本中搜索指定行的内容,并不只是从第一行开始寻找,你需要修改`countSubstring`函数,使其接受一个多行的`text`作为参数。这里你可以考虑使用数组或向量来存储每一行的文本,然后遍历整个数组来查找目标行的内容。这是代码可能的调整方式:
```cpp
vector<string> readLines(int n) {
vector<string> lines;
for (int i = 0; i < n; i++) {
getline(cin, lines[i]);
}
return lines;
}
int main() {
int n;
cin >> n;
vector<string> text = readLines(n);
int lineToSearch = 1; // 设定你要找的是哪一行,默认为第二行,注意索引是从0开始的
string searchTarget = text[lineToSearch - 1]; // 减一对应实际行号,得到secondLine
int output = countSubstring(searchTarget, text[lineToSearch] + "\n"); // 继续查找第二行的目标串,包含换行符"\n"
cout << output << endl;
return 0;
}
```
在这里,`readLines`函数将所有输入的行合并成一个向量,然后你可以通过行号找到`searchTarget`以及后续要处理的行`text[lineToSearch]`。
阅读全文
相关推荐

















