【问题标题】:How to save date in a console application c++ [closed]如何在控制台应用程序 C++ 中保存日期 [关闭]
【发布时间】:2016-05-01 22:17:59
【问题描述】:

例如,当您在 VisualStudio 上制作 C++ 控制台应用程序时,当您使用您的应用程序并退出它时,我认为数据会丢失,对吗?有没有办法在不丢失数据的情况下,从控制台项目中制作一个 .exe 来拥有一个可以打开、关闭、打开和修改数据的程序?

【问题讨论】:

  • 在程序运行时创建和使用的所有运行时对象、变量和其他元素通常都保存在 RAM 中,一旦程序退出,显然会被释放并返回给系统。要实现持久状态,您可以使用文件并向它们写入您想要保留的数据。如果你使用 C++,谷歌 ifstream、ofstream 和 fstream。
  • @AdrianLis 但是有没有办法制作一个保存数据的应用程序?
  • @AdrianLis 我正在制作一个程序,我将在其中将数据保存在文本文件中,但是你知道我可以从我的控制台应用程序项目中制作一个可执行文件,这样我就不必去运行了来自 ide 的源代码。
  • 解释这意味着什么。你不会编写自己的编译器。
  • 控制台应用程序和在窗口子系统(或任何其他子系统)中运行的应用程序之间没有区别:当进程终止时,存储在瞬态内存中的所有信息都会丢失,因为操作系统回收该内存。如果您需要跨运行持久化信息,则需要对其进行序列化并以某种方式持久化。文件系统是持久数据的常用存储介质,数据库(自定义数据库引擎或注册表)或云支持的存储也是如此。

标签: c++ windows visual-c++ executable


【解决方案1】:

当您在 Visual Studio 中使用您的应用程序时,它首先会创建一个可执行文件,即 exe 文件。 C++ 文件被编译和链接。编译和链接称为构建。

在 Visual Studio 的底部,您将看到一个“输出”窗口。如果有错误,那里会出现错误。如果有 not 错误,那么您将看到类似于以下内容的行。

1>  SO36972615.vcxproj -> c:\users\sam\documents\visual studio 2015\Projects\SO36972615\Debug\SO36972615.exe

这里,“SO36972615”是项目名称。该项目位于:

c:\users\sam\documents\visual studio 2015\Projects\SO36972615

项目文件位于该目录中。有一个“Debug”子目录,里面有一个exe文件,SO36972615.exe。您可以在 VS 之外执行该文件。您也可以将其复制到您的系统中的其他位置。

要在另一个系统中使用您的程序,您可能需要执行所谓的发布构建。你也需要了解这一点。如果您进行发布构建,那么您也许可以将您的 exe 文件复制到另一个系统。

您可能需要一个安装系统才能将您的程序安装到另一个系统中。设置也称为部署,程序员经常说他们需要部署他们的软件。学习如何部署(为其创建设置)您的程序需要时间,但这是您能够在其他系统中使用您的程序的方式。

【讨论】:

  • 好的,谢谢,很清楚,但是您知道我的代码中是否有一个带有属性字符串向量的类的对象,如果字符串将在程序退出时被删除?
  • 我为延迟道歉。是的,.Net 将在执行期间删除不再需要的对象。当应用程序退出时,Windows 将释放应用程序使用的存储空间。因此,如果您使用 String 和 StringBuilder 等类,那么当您的应用程序退出时,它们使用的存储将完全可供其他应用程序使用。
猜你喜欢
  • 2021-08-09
  • 2016-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多