Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何允许其他程序在使用fopen和fwrite写入文件时读取文件? 我打开一个文件,我正在创建一个视频,并用C++的FPEN写入磁盘,我可以写磁盘。但是,当我在写的时候试图读取它时,它会抛出错误,说它没有读取文件的权限。一旦我关闭文件或停止程序,我就可以突然从中读取_C++_Fopen - Fatal编程技术网

如何允许其他程序在使用fopen和fwrite写入文件时读取文件? 我打开一个文件,我正在创建一个视频,并用C++的FPEN写入磁盘,我可以写磁盘。但是,当我在写的时候试图读取它时,它会抛出错误,说它没有读取文件的权限。一旦我关闭文件或停止程序,我就可以突然从中读取

如何允许其他程序在使用fopen和fwrite写入文件时读取文件? 我打开一个文件,我正在创建一个视频,并用C++的FPEN写入磁盘,我可以写磁盘。但是,当我在写的时候试图读取它时,它会抛出错误,说它没有读取文件的权限。一旦我关闭文件或停止程序,我就可以突然从中读取,c++,fopen,C++,Fopen,没有一个问题,没有完成写,如果我写崩溃的程序,仍然可以读取它。另外,VLC的日志告诉我这是一个权限问题 知道如何更改该权限吗 对William询问代码片段或是否在文件存在之前打开的响应: Thanks William, here's what I've got. I waited a few minutes and could see the file with windows explorer by that point and waited until after I'd flushed a

没有一个问题,没有完成写,如果我写崩溃的程序,仍然可以读取它。另外,VLC的日志告诉我这是一个权限问题

知道如何更改该权限吗

对William询问代码片段或是否在文件存在之前打开的响应:

Thanks William, here's what I've got. I waited a few minutes and could see the file with windows explorer by that point and waited until after I'd flushed and data was there, couldn't open with VLC or Notepad++ or Notepad or Windows Media Player

Notepad says cannot access because it is being used by another process, others too.
Here is the VLC log while it tries to open this:
http://snippi.com/s/g4cbu23

Here is where I create the file with fopen:
http://snippi.com/s/cyajw4h

At the very end is where I write to the file using fwrite and flush:
http://snippi.com/s/oz27m0g

如果希望文件可共享,则需要与
\u SH_DENYNO
一起使用。

没有读取文件的权限,或者没有打开文件的权限?显示一些代码
fopen
应该成功。如果您试图使用一些大型设备(如VLC)读取文件,很可能在文件存在之前就发生了打开,您看到的错误主要是由于无效缓存。谢谢William,这是我得到的。我等了几分钟,可以在windows资源管理器中看到该文件,一直等到刷新并保存了数据后,才可以用VLC、记事本+、记事本或windows Media Player打开。记事本说无法访问该文件,因为它正被其他进程使用,其他进程也在使用。这是VLC试图打开的日志:这是我用fopen创建文件的地方:最后是我用fwrite和flush写入文件的地方:这回答了你的问题吗?谢谢,这就成功了。是否需要以类似的方式打开文件进行读取?我现在可以用大多数程序打开该文件进行读取。。“只是不在我们的图书馆里。”我相信是的。另一个奇怪的怪癖是,许多你可能认为写入他们打开的文件的程序实际上并没有。例如,许多编辑器写出文件的新副本,然后用新文件替换旧文件,从不向旧文件写入。