代码之家  ›  专栏  ›  技术社区  ›  Nick Van Brunt

如何在iPhone上fopen()?

  •  16
  • Nick Van Brunt  · 技术社区  · 16 年前

    iphone sdk docs claim fopen()是受支持的文件访问方法,但我无法让它返回文件句柄。我正在访问项目中包含的目录。我尝试过fopen“filename”、“dir/filename”、“../filename”、“../dir/filename”、“/dir/filename”都返回空指针。有些人报告说使用它没有任何问题,所以我确信它很简单!

    2 回复  |  直到 12 年前
        1
  •  22
  •   bobobobo    12 年前

    如果您试图访问应用程序包中的文件,则需要获取其完整路径: [[NSBundle mainBundle] pathForResource: FILENAME ofType: FILEEXTENSION]

    这将返回一个nsstring,您可以从中拉出一个utf8字符串并将其传递给fopen。

        2
  •  22
  •   Nick Van Brunt    16 年前

    只是为了清楚地打开一个文件“some.txt”…

    NSString * path = [[NSBundle mainBundle] pathForResource:  @"some" ofType: @"txt"];
    FILE *f = fopen([path cStringUsingEncoding:1],"r");
    if (f == NULL) NSLog([path stringByAppendingString:@" not found"]);
    
    推荐文章