ファイルの入出力

Objective-Cでファイルの入出力をする方法を紹介します。

といっても、C言語を使用できるので、C言語の命令を使うだけです。

パスに関してはCocoa APIのファイルダイアローグで取得します。

	NSSavePanel *savePanel=[NSSavePanel savePanel];
    NSArray *FileType=[NSArray arrayWithObjects:@"txt",@"'TEXT'",nil];
    [savePanel setAllowedFileTypes:FileType];
    if([savePanel runModal]!=NSOKButton){
        return;
    }
    
    //char型に変換してC言語を利用して書き込み
    const char *path=[[savePanel URL] path].UTF8String;
    FILE *fp;
    char* data="10";
    if((fp=fopen(path,"w"))==NULL){
        NSLog(@"エラー");
        return;
    }
    while(*data){
        if(fputc(*data,fp)==EOF){
            NSLog(@"エラー");
            return;
        }
        data++;
    }
    fclose(fp);

pathメソッドを利用して、NSURLをNSStringへ変換し、UTF8Stringによりchar形へ変換しています。

あとは、fopenでファイルをつくり、fputcで書き込んでいきます。

著者:安井 真人(やすい まさと)