#pragma once #include "acl_cpp/acl_cpp_define.hpp" #include "acl_cpp/stream/fstream.hpp" namespace acl { class string; class ACL_CPP_API ifstream: public fstream { public: ifstream() {} virtual ~ifstream() {} /** * 以只读方式打开已经存在的文件 * @param path {const char*} 文件名 * @return {bool} 打开文件是否成功 */ bool open_read(const char* path); /** * 从打开的文件流中加载该文件中的所有内容到用户指定缓冲区内 * @param s {string*} 用户缓冲区 * @return {bool} 是否成功 */ bool load(string* s); /** * 加载文件中的数据至用户指定缓冲区, 该函数是静态成员变量, * 可直接使用 * @param path {const char*} 文件名 * @param s {string*} 用户缓冲区 * @return {bool} 是否成功 */ static bool load(const char* path, string* s); }; } // namespace acl