使用fopen在桌面上打开文件时,权限被拒绝
Permission denied when opening a file on desktop with fopen
我正在尝试以下代码,但它返回EACCESS(权限被拒绝)。我真的不知道为什么。我甚至尝试在管理员模式下运行VS,但没有成功。它总是很好用…也许是因为它是Windows通用应用程序?
auto err = _wfopen_s(&f, L"C:/Users/Lukas/Desktop/Audio.mp3", L"rb");
if (err > 0)
return;
fseek(f, SEEK_END, 0);
unsigned int size = ftell(f);
fseek(f, SEEK_SET, 0);
char *data = new char[size];
fread(data, 1, size, f);
fclose(f);
这是通用Windows应用程序所期望的。Windows运行时应用程序在沙箱中运行,不能访问文件系统的任意部分。他们只能直接访问(例如通过fopen等)他们的appx包(只读)和应用程序数据(读写)目录。所有其他位置只有通过StorageFile和StorageFolder代理对象获得用户许可才能使用。
要在桌面上访问MP3,您需要让用户使用文件选择器(或同等工具)选择它,以获得具有适当权限的StorageFile,然后可以将其缓存以供稍后使用AccessCache类。或者,将MP3放入音乐库中,应用程序可以声明音乐库功能,并通过KnownFolders获得StorageFile。MusicLibrary文件夹。
在我的博客文章http://blogs.msdn.com/b/wsdevsol/archive/2012/12/05/stray-from-the-path-stick-to-the-storagefile.aspx
相关文章:
- Termux权限被拒绝
- AWS Lambda C++运行时权限被拒绝
- 为什么 KMS drmModeSetCrtc() 在 X11 会话中运行时会失败并被拒绝权限?
- 使用崇高文本 3 进行C++拒绝授予权限?
- 安卓inotify_add_watch失败:权限被拒绝?
- clang --版本权限被拒绝错误
- 为什么 mkdir() 后跟 ofstream::operator<< 失败并被拒绝权限?
- QSSLSLSOCKETS无法解决和权限拒绝错误
- 运行简单 c++ 程序时出现权限被拒绝错误
- Apache HTTPD模块共享内存权限拒绝了错误
- CLION无法打开输出文件,拒绝了权限
- 无法打开输出文件___.exe:权限被拒绝
- 写入文件权限被拒绝
- .out 使用 -c 指令和 g++ 拒绝权限
- 当我使用 remove() 时权限被拒绝
- Linux 拒绝使用 boost asio 的套接字绑定权限
- 获取错误 - 启用权限后,OpenProcess() 中的访问被拒绝
- 连接到Boost.Asio创建的域套接字时权限被拒绝
- 无法打开输出文件:binDebugPrimeChecker.exe权限被拒绝
- 对解压缩文件(popen)的权限被拒绝