【发布时间】:2020-07-10 05:41:22
【问题描述】:
我正在尝试为我的记事本项目实现文件保存功能。
文件保存功能应该这样实现:
-
点击保存菜单
-
如果写在记事本上的文本从未保存,请打印文件对话框并设置文件路径,然后保存。
-
如果文本已经保存(可以修改),只需保存。
我认为需要当前文本文件的路径来检查是否从未保存或已经保存。
(如果文件从未保存,则路径不存在。)
那么,如何获取当前文件的路径呢?
我正在使用 VS2019,MFC。
感谢您的帮助。
【问题讨论】:
-
如果文件从未保存,则该文件不存在。如果你修改了一个文件,你已经打开了一个文件(或保存了一个新文件),因此应该知道路径
-
@RoQuOTriX 是的。解决方案之一是在打开或保存(第一次)文件时保存文件路径。文件路径将存在于某处并用于检查是否从未保存或已经保存。但我对这个解决方案感到不自然。例如,不适合通过文件标题是否为“Untitled”来判断是否从未保存。所以我认为如果可能的话,每时每刻都找到文件路径更合适。
-
但是为什么呢?您可以使用 bool: FileExist 或带有 Path 的字符串,对于不存在或如果保存文件则设置为 NULL?我猜你以后会不止一次需要这个属性
-
您无法从“当前文件”中获取路径。您必须设计一些自己的机制来保存已用于当前文件的任何文件名。
-
为什么要重新发明轮子?如果您打开一个文件,请将其记录在一个变量中。简单的。这里没有复杂的事情要做。