2018年5月23日水曜日

開発環境

Head First C ―頭とからだで覚えるCの基本 (David Griffiths (著)、Dawn Griffiths (著)、中田 秀基 (監修)、木下 哲也 (翻訳)、オライリージャパン)の2.5章(文字列 - 文字列理論)、コンパイラになってみよう(p. 91)を取り組んでみる。

コンパイラになってみよう(p. 91)

Makefile

cc = cc

all: sample run

sample: sample.c
 cc sample.c -o sample

run: sample
 ./sample

コード

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

char tracks[][80] = {"I left my heart in Harvard Med School",
                     "Newark, Newark - a wonderful town", "Dancing with a Dork",
                     "From here to maternity", "The girl from Iwo Jima"};

void find_track(char search_for[]) {
  for (int i = 0; i < 5; i++) {
    char *track = tracks[i];
    if (strstr(track, search_for)) {
      printf("曲番号%i: '%s'\n", i + 1, track);
    }
  }
}
int main() {
  /* 左下 */
  char search_for[80];
  while (true) {
    printf("検索語: ");
    fgets(search_for, 80, stdin);
    if (search_for[0] == 'q') {
      break;
    }
    search_for[strlen(search_for) - 1] = '\0';
    find_track(search_for);
  }
}

入出力結果(Terminal)

$ make
cc sample.c -o sample
./sample
検索語: er
曲番号2: 'Newark, Newark - a wonderful town'
曲番号4: 'From here to maternity'
検索語: a
曲番号1: 'I left my heart in Harvard Med School'
曲番号2: 'Newark, Newark - a wonderful town'
曲番号3: 'Dancing with a Dork'
曲番号4: 'From here to maternity'
曲番号5: 'The girl from Iwo Jima'
検索語: the
検索語: The
曲番号5: 'The girl from Iwo Jima'
検索語: in
曲番号1: 'I left my heart in Harvard Med School'
曲番号3: 'Dancing with a Dork'
検索語: q
$

0 コメント:

コメントを投稿