2014年3月13日木曜日

開発環境

Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の2.5章(文字列)、プールパズル(p.90)を解いてみる。

その他参考書籍

プールパズル(p.90)

コード(BBEdit, Emacs)

sample.c

#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[])
{
  int i;
  for (i = 0; i < 5; ++i) {
    if (strstr(tracks[i], search_for))
      printf("局番号%i: '%s'\n", i, tracks[i]);
  }
}

int main(int argc, char *argv[])
{
  char search_for[80];
  printf("検索語: ");
  fgets(search_for, 80, stdin);
  search_for[strlen(search_for) - 1] = '\0';
  find_track(search_for);

  return (0);
}

Makefile

all: sample

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

clean:
 rm sample

入出力結果(Terminal)

$ make && ./sample
cc -g -o sample sample.c
検索語: left
局番号0: 'I left my heart in Harvard Med School'
$ ./sample
検索語: from
局番号4: 'The girl from Iwo Jima'
$ ./sample
検索語: with
局番号2: 'Dancing with a Dork'
$ ./sample
検索語: c
局番号0: 'I left my heart in Harvard Med School'
局番号2: 'Dancing with a Dork'
$ ./sample
検索語: scheme
$

0 コメント:

コメントを投稿