osgDB.ifstream
提供了一个类似于C++ std::ifstream
的带有OBS和URL支持的文件输入流。
osgDB::ifstream::ifstream()
默认构造函数。
osgDB::ifstream::ifstream(std::ios_base::openmode mode)
使用参数 mode
构造输入流。
osgDB::ifstream::ifstream(const std::string& filename, std::ios_base::openmode mode = std::ios_base::in | std::ios_base::binary)
使用文件名 filename
和 mode
构造输入流。
void osgDB::ifstream::open(const std::string& filename, std::ios_base::openmode mode = std::ios_base::in | std::ios_base::binary)
使用文件名 filename
和 mode
打开输入流。
bool osgDB::ifstream::is_open() const
检查输入流是否已打开。
void osgDB::ifstream::close()
关闭输入流。
继承自C++ std::basic_ifstream
和 osgDB::ifstream_extension
.
#include <osgDB/ReadFile>
#include <osgDB/ifstream>
#include <iostream>
int main(int argc, char** argv)
{
osgDB::ifstream ifs("test.txt");
if (ifs.is_open())
{
std::cout << "File opened." << std::endl;
std::string line;
while (std::getline(ifs, line))
{
std::cout << line << std::endl;
}
ifs.close();
}
else
{
std::cerr << "Failed to open file." << std::endl;
}
return 0;
}
在上面的示例中,我们创建了一个 osgDB::ifstream
对象来打开 test.txt
文件,并读取了文件的每一行。最后,我们调用 close()
方法关闭输入流。