从文件中使用getline时,While循环仅循环一次的原因可能是文件读取到了行末尾,或者文件不存在导致无法打开文件。
解决该问题的方法是:
示例代码如下:
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream file("filename.txt");
if (!file.is_open()) {
std::cout << "Failed to open file." << std::endl;
return 0;
}
std::string line;
while (std::getline(file, line)) {
// 处理每一行的内容
std::cout << line << std::endl;
}
if (file.eof()) {
std::cout << "Reached end of file." << std::endl;
} else if (file.fail()) {
std::cout << "Failed to read file." << std::endl;
}
file.close();
return 0;
}
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云