2011-06-28 60 views
0

我有一台运行iOS 4.2.1的iPod touch和一台运行iOS 4.2的模拟器。在模拟器中,我的代码工作得很好,但在设备上,它崩溃了。fprintf会导致设备崩溃但不是模拟器?

有问题的代码是:

FILE *file = fopen([[@"niplot/" stringByAppendingString:text_field.text] fileSystemRepresentation], "w"); 
... 
fprintf(file, "%s", [print_str UTF8String]); //crash occurs here, EXC BAD ACCESS 
... 
fclose(file); 

莫非有什么做的文件或文件夹不存在?在这种情况下,模拟器为我创建了它们。我会尝试在设备上手动创建文件和文件夹,但我不知道如何。另外,我已经尝试了带和不带.txt扩展名的文件名。

+3

出于好奇,为什么不使用本机文件处理机制? – KevinDTimm

+0

什么原生文件处理机制?我找不到任何东西,而且我习惯于使用C的文件API。 – Outback

+0

这不是你的printf问题,它是'fopen',它是一个相对路径名,并且该设备比模拟器更加严格的沙箱化(对于这两个启动目录也可能不同) – bshirley

回答

相关问题