c++在txt文档中查找所有匹配的指定字符串,用CString实现 统计数量 和找到指定字符串所在行数 ,txt中遇到'\n'或者 '\r'都要算作一行
时间: 2024-04-14 08:27:10 浏览: 91
CreatFile.zip_MFC_creat 字符串_mfc creatfile_mfc txt_mfc 字符串
要在 txt 文档中查找所有匹配的指定字符串,同时使用 CString 类来实现,并统计数量和找到指定字符串所在的行数,可以使用以下示例代码:
```cpp
#include <iostream>
#include <fstream>
#include <afx.h>
int main() {
CStdioFile file;
CString filePath = _T("example.txt"); // 替换为你的文本文件路径
CString searchString = _T("指定字符串"); // 替换为你要查找的指定字符串
if (file.Open(filePath, CFile::modeRead | CFile::typeText)) {
CString line;
int lineCount = 0;
int matchCount = 0;
while (file.ReadString(line)) {
lineCount++;
int pos = line.Find(searchString);
while (pos != -1) {
matchCount++;
std::cout << "Match found in line " << lineCount << ": " << line << std::endl;
pos = line.Find(searchString, pos + searchString.GetLength());
}
}
std::cout << "Total matches: " << matchCount << std::endl;
file.Close();
}
else {
std::cout << "Failed to open the file!" << std::endl;
}
return 0;
}
```
这段代码使用了 MFC 的 CStdioFile 类来打开和读取文本文件。它逐行读取文件内容,同时在每行中查找指定字符串,并统计匹配数量和输出匹配结果。
请确保在项目设置中正确添加了 MFC 支持,并链接了 MFC 库。
希望对你有所帮助!
阅读全文