我想在c / c ++中以编程方式将一个文本文件打开到一些文本编辑器说记事本中。
此外,我想在编辑器中打开时,将文本实时更新到该文本文件中。
请建议。
答案 0 :(得分:3)
大多数编辑者接受要打开的文件的路径作为第一个参数。 E.g。
notepad.exe c:/foo.txt
只需在程序中将其作为shell / runtime命令执行即可。
答案 1 :(得分:1)
如果你正在做一些像监视日志文件那样简单的事情,你需要一个名为“tail”的unix程序,或者它的Windows equivalent。
它将为您提供一个简单的类似记事本的窗口,它可以(或多或少)实时显示日志文件的内容。
让编辑器(记事本,尾巴,等等)不断监视文件的更改不是你作为C ++开发人员的工作,而是取决于程序。
答案 2 :(得分:0)
要在指定的默认应用程序中打开文件,请尝试此操作(C#):
System.Diagnostics.Process.Start("text.txt");
要指定应用程序,请尝试以下操作:
System.Diagnostics.Process.Start( "notepad.exe", "text.txt");
我不知道有什么方法可以在编辑器中处理文件的实时更新。
答案 3 :(得分:0)
要在编辑器窗口中查看实时更新,请尝试查找编辑器的窗口句柄(您可以使用EnumWindows()功能)。在编辑器的文本字段中插入文本或从文件中重新读取文本,然后调用RedrawWindow()。然而,如果文本来自一个程序,那么在每个字母之后调用它可能会产生一些令人讨厌的闪烁。
答案 4 :(得分:0)
运行后,请参见上文。您可以使用Windows API中的SendMessage更新文件,并将Ctrl + S(保存)发送到记事本窗口。