Open3D (C++ API)  0.18.0
Public Member Functions
open3d::utility::filesystem::CFile Class Reference

#include <FileSystem.h>

Public Member Functions

 ~CFile ()
 The destructor closes the file automatically. More...
 
bool Open (const std::string &filename, const std::string &mode)
 Open a file. More...
 
std::string GetError ()
 Returns the last encountered error for this file. More...
 
void Close ()
 Close the file. More...
 
int64_t CurPos ()
 Returns current position in the file (ftell). More...
 
int64_t GetFileSize ()
 Returns the file size in bytes. More...
 
int64_t GetNumLines ()
 Returns the number of lines in the file. More...
 
const char * ReadLine ()
 
template<class T >
size_t ReadData (T *data, size_t num_elems)
 
size_t ReadData (void *data, size_t elem_size, size_t num_elems)
 
FILE * GetFILE ()
 Returns the underlying C FILE pointer. More...
 

Detailed Description

RAII Wrapper for C FILE* Throws exceptions in situations where the caller is not usually going to have proper handling code:

Constructor & Destructor Documentation

◆ ~CFile()

open3d::utility::filesystem::CFile::~CFile ( )

The destructor closes the file automatically.

Member Function Documentation

◆ Close()

void open3d::utility::filesystem::CFile::Close ( )

Close the file.

◆ CurPos()

int64_t open3d::utility::filesystem::CFile::CurPos ( )

Returns current position in the file (ftell).

◆ GetError()

std::string open3d::utility::filesystem::CFile::GetError ( )

Returns the last encountered error for this file.

◆ GetFILE()

FILE* open3d::utility::filesystem::CFile::GetFILE ( )
inline

Returns the underlying C FILE pointer.

◆ GetFileSize()

int64_t open3d::utility::filesystem::CFile::GetFileSize ( )

Returns the file size in bytes.

◆ GetNumLines()

int64_t open3d::utility::filesystem::CFile::GetNumLines ( )

Returns the number of lines in the file.

◆ Open()

bool open3d::utility::filesystem::CFile::Open ( const std::string &  filename,
const std::string &  mode 
)

Open a file.

◆ ReadData() [1/2]

template<class T >
size_t open3d::utility::filesystem::CFile::ReadData ( T *  data,
size_t  num_elems 
)
inline

Read data to a buffer.

Parameters
dataThe data buffer to be written into.
num_elemsNumber of elements to be read. The byte size of the element is determined by the size of buffer type.

◆ ReadData() [2/2]

size_t open3d::utility::filesystem::CFile::ReadData ( void *  data,
size_t  elem_size,
size_t  num_elems 
)

Read data to a buffer.

Parameters
dataThe data buffer to be written into.
elem_sizeElement size in bytes.
num_elemsNumber of elements to read.

◆ ReadLine()

const char * open3d::utility::filesystem::CFile::ReadLine ( )

Throws if we hit buffer maximum. In most cases, calling code is only capable of processing a complete line, if it receives a partial line it will probably fail and it is very likely to fail/corrupt on the next call that receives the remainder of the line.


The documentation for this class was generated from the following files: