我如何 save/load 信息 onto/from 我的设备?

How do I save/load information onto/from my device?

我正在开发一个应用程序,但我需要它将其信息保存到计算机上,并在下次打开时从那里加载它。

举个最简单的例子:我有一个字符串数组,我想将它们保存为应用程序目录中的 *.txt 文件。数组的每个成员都应该在文件的新行中。 我想在打开应用程序时将文件的条目加载到数组中,或者创建一个空的 *.txt 文件(如果不存在)。

注意:如果有更简单的方法来执行此操作,而不是将它们保存到 *.txt 中,请告诉我。将它们严格保存为 *.txt 格式不是强制性的。

此外,我正在为我的应用程序使用 wxWidgets,如果它能让它变得更容易的话。

MainFrame::MainFrame() {
    wxFileName f(wxStandardPaths::Get().GetExecutablePath());
    wxString appPath(f.GetPath());

    std::ifstream inputFileStream;
    inputFileStream.open(std::string(appPath.mb_str(wxConvUTF8)) + "data.txt");
    std::string data;
    inputFileStream >> data;
}
MainFrame::~MainFrame()
{
    wxFileName f(wxStandardPaths::Get().GetExecutablePath());
    wxString appPath(f.GetPath());

    std::ofstream outputFileStream;
    outputFileStream.open(std::string(appPath.mb_str(wxConvUTF8)) + "data.txt");
    std::string data = "something";
    outputFileStream << data;
    outputFileStream.close();
}

创建框架时,我得到了数据。当框架被破坏时,我保存数据。我不使用 C++ 标准库 类,但使用 wxWidgets 类 和 UTF-8 支持的方法。 (我没有检查这段代码是否有效——它取自我的旧项目。)