c++编写一个程序,能够读取一个文本文件的内容,统计其中的行数、单词数和字符数,并将统计结果保存到另一个文件中。
时间: 2024-12-17 16:47:57 浏览: 69
统计文本文件中的字符单词和行数
在C++中,你可以使用`fstream`库来读取和写入文件,以及`std::string`和`<algorithm>`库来进行字符串处理。下面是一个简单的示例程序,它会完成你的需求:
```cpp
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vector>
#include <algorithm>
int main() {
std::ifstream inputFile("input.txt"); // 打开输入文件
if (!inputFile) {
std::cerr << "无法打开输入文件!" << std::endl;
return 1;
}
std::ofstream outputFile("output.txt"); // 创建输出文件
if (!outputFile) {
std::cerr << "无法创建输出文件!" << std::endl;
return 1;
}
int lineCount = 0;
int wordCount = 0;
int charCount = 0;
std::string line;
while (std::getline(inputFile, line)) { // 遍历每一行
lineCount++;
wordCount += std::count(line.begin(), line.end(), ' '); // 统计单词数,空格分隔单词
charCount += line.length(); // 计算字符数
}
// 写入结果到输出文件
outputFile << "行数: " << lineCount << "\n";
outputFile << "单词数: " << wordCount << "\n";
outputFile << "字符数: " << charCount << "\n";
inputFile.close();
outputFile.close();
std::cout << "操作完成,统计信息已保存到output.txt." << std::endl;
return 0;
}
```
这个程序首先尝试打开名为"input.txt"的文件,然后逐行读取并计算每行的单词数(通过空格计数)和字符数。最后,将这些统计信息写入"output.txt"。
阅读全文