2014年10月10日金曜日

開発環境

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

その他参考書籍

ポケットコード(p.105)

コード(BBEdit, Emacs)

sample105.c

#include <stdio.h>

int main(int argc, char *argv[])
{
  float latitude;
  float longitude;
  char info[80];
  int started = 0;

  puts("data=[");
  while (scanf("%f,%f,%79[^\n]", &latitude, &longitude, info) == 3) {
    if (started)
      printf(",\n");
    else
      started = 1;
    printf("{latitude:%f, longitude:%f, info; '%s'}",
           latitude, longitude, info);
  }
  puts("\n]");

  return (0);
}

入出力結果(Terminal)

$ cat gpsdata.csv
42.363400,-710.098465,Speed = 21
42.363327,-71.097588,Speed = 23
30.0,-70.0,Speed = 20
42.363255,-71.096710,Speed = 17
$ make sample105 && ./sample105 < gpsdata.csv
cc -g -Wall    sample105.c   -o sample105
data=[
{latitude:42.363400, longitude:-710.098450, info; 'Speed = 21'},
{latitude:42.363327, longitude:-71.097588, info; 'Speed = 23'},
{latitude:30.000000, longitude:-70.000000, info; 'Speed = 20'},
{latitude:42.363255, longitude:-71.096710, info; 'Speed = 17'}
]
$

0 コメント:

コメントを投稿