fstream 变量获取文本文件中的所有行
fstream variable get all lines in a text file
我想从文件中的所有行读取,使用fstream
变量逐行读取。
例如:
#include <fstream>
fstream fsFile;
fsfile.open("file.txt", ios::in);
while (fsFile.getline(szLine, LINE_SIZE + 1))
{
cout << szLine << endl;
}
当我想读取所有行,但我得到的行大于LINE_SIZE
时,fsFile.bad()
返回 true,我明白了。
但是,我想知道fsFile.getline(szLine, LINE_SIZE + 1)
怎么会突然回来false
?
我的意思是函数的返回值是多少?
如果它null
,我认为这是为什么null
?
当它不null
它返回什么时?
感谢您的支持。
使用getline
的std::string
版本:
std::ifstream fsFile("file.txt");
std::string line;
while(std::getline(fsFile, line)) {
std::cout << line << 'n';
}
getline
(两个版本(返回对流的引用,该引用可转换为bool
以便您可以检查其状态(如果读取失败,通常是因为我们点击了文件的末尾(。
此版本的getline
绝对更可取,因为通过使用std::string
,您完全不必担心内存缓冲区。无需自己创建并记住销毁它,无需担心线条的大小。
另外,请重新考虑您对通常被认为是不良做法的使用:using namespace std;
和endl
。
相关文章:
- 通过多个头文件使用常量变量
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 如何从另一个文件继承私有成员变量和公共函数
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 无法通过头文件保存变量的值
- 尝试调用 .h 文件中定义的变量时出现变量未定义错误
- 在 C++ 中将双精度变量写入二进制文件
- 如何使用文件中的文本,例如变量
- 定义C++新的环境变量并在 bat 文件中使用它
- 在头文件中定义变量不会出错
- 复制文件流C++静态变量
- 从另一个 cpp 文件更改结构内、映射键内的变量
- 在C++中使用变量而不是"#define"来指定数组大小是不是一种糟糕的做法?(C错误:在文件范围内
- C++将文本从.txt文件解析为变量
- 从 C 中的变量获取文件的路径,C++
- 使用boost ::日志配置文件变量
- C++:帮助存储和显示输入文件变量
- 文件变量的问题
- 如何在先决条件列表中展开生成文件变量
- QT多个文件c++变量