📄 file.h
字号:
#ifndef _FILE_H
#define _FILE_H
#include <fstream>
#include <string>
#include "defines.h"
namespace annie
{
/** The idea is that this class will be used to read in information from text files
* created by the "save" function in various annie classes.
* When a file is opened, we check that the first non-commented line contains
* "ANNIE_FILE <ver>" where <ver> is the version number. This has been done
* to allow for future changes to file formats used by ANNIE.
* All save functions should save in the same format. Current version is 1.0.
*
* Comments in an ANNIE file are given by a '#'. The rest of the line following '#'
* is ignored. The member functions of this class return values ignoring any
* and all comments that may have appeared in between.
*/
class File
{
private:
std::string _filename;
std::ifstream _file;
bool _isOpen;
void _next();
public:
///Creates an empty File object
File();
///Opens a given filename in the File object
/** @param filename The name of the file to be opened.
* \throws Throws an Exception if the first line of the file is not ANNIE_FILE
* or the version of the ANNIE file is an incorrect one (not supported by
* this compilation of code)
*/
File(std::string filename);
///Explicitly opens a given filename in the File object
/** @param filename The name of the file to be opened.
* \throws Exception if the first line of the file is not ANNIE_FILE
* or the version of the ANNIE file is an incorrect one (not supported by
* this compilation of code)
* \throws Exception if another file is already opened and hasn't been closed.
*/
void open(std::string filename);
///Reads one character from the file
char readChar();
///Returns an integer read from the file
int readInt();
///Returns a real read from the file
real readDouble();
///Returns a "word" (a string with no word separators/delimiters) read from the file
std::string readWord();
///Closes the file
void close();
///Returns a complete line
std::string readLine();
///checks if the file has reached the end
/** @return true if the file has reached the end, false otherwise*/
bool eof();
};
}; //namespace annie
#endif // define _FILE_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -