C++读取文件区分空格
时间: 2025-01-02 22:01:00 浏览: 6
在C++中,如果你需要在读取文件时区分空格(包括普通空格、制表符或换行符等),通常会在读取后对字符串进行处理,例如使用`std::stringstream`或者直接遍历字符数组,通过比较每个字符来确定它们是否为空格。
这里有一个示例,假设你想读取一个包含空格的文件,并将其作为单词列表存储在一个容器中,如`std::vector<std::string>`:
```cpp
#include <fstream>
#include <sstream>
#include <vector>
#include <cctype> // 包含isspace函数
std::vector<std::string> readWordsFromFile(const std::string& filename) {
std::ifstream file(filename);
if (!file.is_open()) {
std::cerr << "Failed to open file: " << filename << std::endl;
return {};
}
std::vector<std::string> words;
std::string word;
for (std::string line; std::getline(file, line); ) {
std::istringstream iss(line);
while (iss >> word) {
if (!word.empty() && !isspace(word.front())) {
words.push_back(word);
}
}
}
file.close();
return words;
}
阅读全文