Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.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
C++ 为什么[fopen()/open()/fstream file]在Mac OS X上无法打开文件?_C++_C_Macos_File - Fatal编程技术网

C++ 为什么[fopen()/open()/fstream file]在Mac OS X上无法打开文件?

C++ 为什么[fopen()/open()/fstream file]在Mac OS X上无法打开文件?,c++,c,macos,file,C++,C,Macos,File,我正试图在MacOSX上打开一个tga文件,我在过去的一个小时里一直在摆弄这个问题,运气不好。 我只想打开一个tga文件。 这是我到目前为止试过的 int filedesc = open("/Users/x2am/Desktop/1177.tga", O_RDONLY); if(filedesc < 0) printf("%s ",strerror(errno)); 输出>未加载文件 filename = L"/Users/x2am/Desk

我正试图在MacOSX上打开一个tga文件,我在过去的一个小时里一直在摆弄这个问题,运气不好。 我只想打开一个tga文件。 这是我到目前为止试过的

    int filedesc = open("/Users/x2am/Desktop/1177.tga", O_RDONLY);
    if(filedesc < 0)
            printf("%s ",strerror(errno));
输出>未加载文件

   filename = L"/Users/x2am/Desktop/1177.tga";
   std::string narrow(filename.begin(), filename.end());
   fstream file(narrow.c_str(), ios::in | ios::binary);
   if (!file.good()) printf("file not loaded");
输出>未加载文件

   filename = L"/Users/x2am/Desktop/1177.tga";
   std::string narrow(filename.begin(), filename.end());
   fstream file(narrow.c_str(), ios::in | ios::binary);
   if (!file.good()) printf("file not loaded");
考虑到open()的输出,该操作不被允许

这是我在图像上执行的获取信息

应用程序是沙盒的,


现在我想我已经尽力了。有什么看不见的东西在我面前,我错过了?非常感谢任何帮助:)

问题确实是因为苹果的沙箱。 这再次提出了一个问题,苹果沙盒:朋友还是敌人? 将文件放入/Users/USER/Library/Container/com.xxx.xxx/Data/后,它工作了。
非常感谢@SHR,因为ans:)

这个问题确实是因为苹果的沙箱。 这再次提出了一个问题,苹果沙盒:朋友还是敌人? 将文件放入/Users/USER/Library/Container/com.xxx.xxx/Data/后,它工作了。
非常感谢@SHR,对于ans:)

应用程序是否已沙盒?是的。它是沙盒。我将使用build settings.IIRC中沙盒页面中的文件访问列表更新该问题。沙盒应用程序只能通过文件对话框访问用户明确允许的文件。您可以将文件放入容器目录,或通过finder打开文件一次并保存访问权限。阅读这里:@molbdnilo,我试图打开的tga文件是在运行时从ftp服务器下载的。那么,除了禁用沙箱之外,我还可以打开文件吗?应用程序是否已沙箱?是的。它是沙盒。我将使用build settings.IIRC中沙盒页面中的文件访问列表更新该问题。沙盒应用程序只能通过文件对话框访问用户明确允许的文件。您可以将文件放入容器目录,或通过finder打开文件一次并保存访问权限。阅读这里:@molbdnilo,我试图打开的tga文件是在运行时从ftp服务器下载的。那么,除了禁用沙箱之外,还有其他方法可以打开文件吗?另一种方法,例如,如果您正在构建一个不用于分发的应用程序,则关闭应用程序的沙箱:另一种方法,例如,如果您正在构建一个不用于分发的应用程序,则关闭应用程序的沙箱: