2018年1月31日水曜日

開発環境

Head First C ―頭とからだで覚えるCの基本 (David Griffiths (著)、Dawn Griffiths (著)、中田 秀基 (監修)、木下 哲也 (翻訳)、オライリージャパン)の3章(小さなツールの作成 - 1つのことだけをうまくやる)、コードマグネット(p. 142)を取り組んでみる。

コードマグネット(p. 142)

//
//  main.c
//  sample1
//
//  Created by kamimura on 2018/01/27.
//  Copyright © 2018 kamimura. All rights reserved.
//

#include <stdio.h>
#include <string.h>

int main(int argc, const char * argv[]) {
    char line[80];
    FILE *in = fopen("spooky.csv", "r");
    FILE *file1 = fopen("ufos.csv", "w");
    FILE *file2 = fopen("disappearances.csv", "w");
    FILE *file3 = fopen("others.csv", "w");
    while (fscanf(in, "%79[^\n]\n", line) == 1) {
        puts(line);
        if(strstr(line, "UFO")) {
            fprintf(file1, "%s\n", line);
        } else if (strstr(line, "Disappearance")) {
            fprintf(file2, "%s\n", line);
        } else {
            fprintf(file3, "%s\n", line);
        }
    }
    fclose(file1);
    fclose(file2);
    fclose(file3);
    
    return 0;
}

入出力結果(Terminal)

$ cat spooky.csv
Elvis1
mermaid1
Car1
Elvis2
mermaid2
Car2
1Elvis
2Elvis
1mermaid
2mermaid
1Car
2Car
$ ./categorize  mermaid mermaid.csv Elvis elvises.csv the_rest.csv
Elvis1
mermaid1
Car1
Elvis2
mermaid2
Car2
1Elvis
2Elvis
1mermaid
2mermaid
1Car
2Car
$ cat mermaid.csv 
mermaid1
mermaid2
1mermaid
2mermaid
$ cat elvises.csv 
Elvis1
Elvis2
1Elvis
2Elvis
$ cat the_rest.csv 
Car1
Car2
1Car
2Car
$ cat spooky.csv
Elvis1
mermaid1
Car1
Elvis2
mermaid2
Car2
1Elvis
2Elvis
1mermaid
2mermaid
1Car
2Car
$ ./categorize 
5つの引数を指定して下さい。
$ echo $?
1
$ 

0 コメント:

コメントを投稿