C++ 当文件被另一个程序写入时,使用记事本之类的程序读取文件?

C++ 当文件被另一个程序写入时,使用记事本之类的程序读取文件?,c++,windows,file,service,io,C++,Windows,File,Service,Io,当文件被另一个程序写入时,使用记事本之类的程序读取文件 我已经创建了一个Windows服务应用程序,它可以连续记录日志 我想在不关闭服务的情况下检查服务的当前事件。为此,我打开Notepad中的log.txt,但得到消息 进程无法访问该文件,因为另一个进程正在使用该文件 过程 如何在不关闭服务的情况下读取日志文件?关闭服务后,我可以随时检查文件中的每个日志条目 通过调用fopen_s和fprintf写入文件,如果需要的话。此外,该服务在windows1064位上的C/C++中编程,在SCM下运行

当文件被另一个程序写入时,使用记事本之类的程序读取文件

我已经创建了一个Windows服务应用程序,它可以连续记录日志

我想在不关闭服务的情况下检查服务的当前事件。为此,我打开
Notepad
中的
log.txt
,但得到消息

进程无法访问该文件,因为另一个进程正在使用该文件 过程

如何在不关闭服务的情况下读取日志文件?关闭服务后,我可以随时检查文件中的每个日志条目

通过调用
fopen_s
fprintf
写入文件,如果需要的话。此外,该服务在
windows1064位
上的
C/C++
中编程,在
SCM
下运行,具有默认权限,即
LocalSystem
,然后备注:

fopen和wfopen打开的文件不可共享。如果您要求文件可共享,请使用_fsopen、_wfsopen和适当的共享模式常量,例如,用于读/写共享的_SH_DENYNO


这是一个解决方案吗?

我想是的,我会试试。我不明白为什么我的问题被否决了。我总是使用记事本++(从某处免费下载,谷歌搜索)。它可以在日志文件仍在编写时打开日志文件(在其他一些方面比记事本更好。在这种情况下,它无法打开文件并读取其内容:-)