2014-02-19 88 views
0

我想在Mac OS X上打开一个tga文件,我已经花了一个小时来处理这个问题,没有运气。 我只是想打开一个tga文件。 这里是我到目前为止已经试过,为什么[fopen()/ open()/ fstream文件]在Mac OS X上无法打开文件?

int filedesc = open("/Users/x2am/Desktop/1177.tga", O_RDONLY); 
    if(filedesc < 0) 
      printf("%s ",strerror(errno)); 

输出>不允许操作

FILE* fp = fopen("/Users/x2am/Desktop/1177.tga", "rb"); 
    if(fp == NULL) 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()的输出,不知何故操作是不允许的。

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

enter image description here

该应用程序是沙箱, enter image description here

现在,我想我已经尝试尽我所能。在我面前有什么隐形的东西我失踪了?任何帮助非常感谢:)

+0

应用程序是否为沙盒? –

+0

是的。它是沙盒。我将在构建设置中使用沙盒页面中的文件访问列表更新问题。 – 2am

+0

IIRC沙盒应用程序只能访问用户通过文件对话框明确允许的文件。 – molbdnilo

回答

2

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

相关问题