c++读取文件不过滤换行符和空格
时间: 2024-12-10 12:39:27 浏览: 36
在C++中,如果你想要读取文件并保持原始内容,包括换行符和空格,你可以直接使用`fstream`库中的成员函数,例如`getline()`或者`ifstream`的`get()`和`putchar()`。下面是一个简单的示例,展示了如何使用`getline()`读取文本文件:
```cpp
#include <fstream>
#include <string>
std::string readFile(const std::string& filename) {
std::ifstream file(filename);
if (!file.is_open()) {
throw std::runtime_error("Failed to open the file.");
}
std::string content((std::istreambuf_iterator<char>(file)),
(std::istreambuf_iterator<char>()));
file.close();
return content;
}
int main() {
try {
std::string text = readFile("example.txt");
// 现在text包含了原样读取的文件内容,包括换行符和空格
// 输出或进一步处理text即可
} catch (const std::exception& e) {
std::cerr << "Error: " << e.what() << "\n";
}
return 0;
}
```
在这个例子中,`getline()`会逐行读取直到遇到换行符,并将每一行作为一个独立的字符串返回。`get()`和`putchar()`也可以用于逐字符读写,但操作起来可能会繁琐一些。
阅读全文