想在c / c ++中以编程方式在某些文本编辑器中打开文本文件

时间:2009-12-11 13:10:20

标签: c++ c text-editor

我想在c / c ++中以编程方式将一个文本文件打开到一些文本编辑器说记事本中。

此外,我想在编辑器中打开时,将文本实时更新到该文本文件中。

请建议。

5 个答案:

答案 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(保存)发送到记事本窗口。