Vishal
Vishal

Reputation: 159

want to open text file in some text editor programmatically in c/c++

I want to open a text file into some text editor say notepad programmatically in c/c++.

Also i want to see real time updation of text into that text file while opening in a editor.

Please suggest.

Upvotes: 2

Views: 4126

Answers (5)

user229044
user229044

Reputation: 239260

If you're doing something as simple as monitoring a log file, you want a unix program called "tail", or its Windows equivalent.

It will give you a simple Notepad-like Window which displays the contents of a log file in (more or less) real time.

Having the editor (notepad, tail, whatever) continually monitor the file for changes isn't your job as the C++ developer, it's up to the program.

Upvotes: 1

beermann
beermann

Reputation: 358

To see real time update in your editor window try to find editor's window handle (you may use EnumWindows() function). Insert text in the editor's textfield or reread it from the file and call RedrawWindow() after that. However calling it after each letter could give some nasty flickering if the text come from a program.

Upvotes: 0

user14554
user14554

Reputation:

After you have it running, see above. you can possibly keep the file updated using SendMessage from the Windows API and sending Ctrl+S(save) to the notepad window.

Upvotes: 0

Jim B
Jim B

Reputation: 8574

To get the file to open in the default application specified, try this (C#):

System.Diagnostics.Process.Start("text.txt");

To specify an application, try this:

System.Diagnostics.Process.Start( "notepad.exe", "text.txt");

I'm not aware of any way to handle real time updation of the file in the editor however.

Upvotes: 0

BalusC
BalusC

Reputation: 1108682

Most editors accepts the path of the file-to-be-opened as 1st argument. E.g.

notepad.exe c:/foo.txt

Just execute it as a shell/runtime command in your program.

Upvotes: 3

Related Questions