【问题标题】:How to not erase user assigned values after each run time?如何在每次运行后不擦除用户分配的值?
【发布时间】:2013-07-03 19:49:16
【问题描述】:

如何用 C++ 开发软件?我知道它应该通过一个程序来完成。但是我怎样才能将它开发成一个像 eclipse 或媒体播放器或任何其他软件的 dos 对应部分一样运行的软件。我的意思是如何让程序记住用户分配给其变量的值,而不会在每次关闭运行程序的.exe 文件时删除它?希望你能理解我的问题。

【问题讨论】:

  • 我正在寻找一种不使用文件处理操作的方法......
  • @ArunKishorreS 如我的回答中所述和链接,如果您在 Windows 上,您可以使用注册表功能。这仅取决于您需要在会话之间保留多少数据。
  • @ArunKishorreS 为什么? (它不疼,真的。试试吧。)如何?实现这一点的所有东西都使用文件(数据库、Windows 上的注册表、Mac 上的用户默认值等)——我能想到的唯一例外是使用环境变量,但这仅限于短字符串、极其脆弱、不安全且在概念上也是错误的.

标签: c++ storage


【解决方案1】:

您应该将该值存储在外部,例如 XML、JSON、SQLITE。今天的关键字是数据库

简单的例子是带有 SQLITE 的 QT,甚至更简单的文件读/写。 Here 是基础教程,又名参考。

Here是rapidxml的用法(挺快的)

如何用c++开发软件?

进入流程的最简单方法是跟踪一些开放的软件应用程序。有很多任务被标记为Junior Job。尝试实现它。

【讨论】:

  • 我们可以在c和c++中使用SQLITE等数据库吗?我正在用 C++ 开发一个软件...
  • @ArunKishorreS 您没有费心阅读 SQLite 的文档,是吗?它一个 C API(可能与其他语言绑定)。
【解决方案2】:

如何用c++开发软件?

我建议在 C++ 上选择 good book 并完成所有包含的练习。如果您不了解语言或标准库的特定部分,请参阅cppreference.comStackOverflow。两者都有搜索功能。

我确信网上有很多可用的教程,但我个人不能向初学者推荐任何教程。

我的意思是如何让程序记住用户分配给它的变量的值

不使用任何第三方库或操作系统特定 API 的最简单方法是使用 std::ifstreamstd::ofstream

既然您似乎正在为 Windows 平台开发(提到了.exe),我建议您也看看 Windows API 中可用的registry 函数。

【讨论】:

    【解决方案3】:

    这是一个链接,用于指导将数据写入文件。

    http://www.cplusplus.com/doc/tutorial/files/

    如果你想在下次执行程序时使用这些数据, 也许你想加入一个 if 语句,如果 文件存在且不为空,然后将数据从那里导入 您的程序(这意味着在您的程序中添加行也可以读取 在文件中的数据中)。

    【讨论】:

      猜你喜欢
      • 2014-08-11
      • 2011-06-26
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多