Hatena::Groupfragments

甘くておいしいおイモだよー このページをアンテナに追加 RSSフィード

2010-09-07

#include "hoge.csv" を実際に試してみた #include "hoge.csv" を実際に試してみた - 甘くておいしいおイモだよー を含むブックマーク はてなブックマーク - #include "hoge.csv" を実際に試してみた - 甘くておいしいおイモだよー

ネタ元

C++ と言うか C で今までで一番「ああその発想はなかった」てのは,int hoge[] = { #include "hoge.csv" };

Twitter / clown: C++ と言うか C で今までで一番「ああその発想は ...

csv.c

#include <stdio.h>
int hoge[] = {
#include "hoge.csv"
};
int main() {
  printf("%d %d %d\n", hoge[0], hoge[1], hoge[2]);
}

hoge.csv

1,2,3

コンパイル&実行

$ gcc --version
gcc (Debian 4.3.2-1.1) 4.3.2
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ gcc csv.c

$ ./a.out 
1 2 3

できた!

ちなみに

#include <stdio.h>
int hoge[] = { #include "hoge.csv" };
int main() {
  printf("%d %d %d\n", hoge[0], hoge[1], hoge[2]);
}

と書くと

$ gcc csv.c
csv.c:2: error: stray ‘#’ in program
csv.c:2: error: ‘include’ undeclared here (not in a function)
csv.c:2: error: expected ‘}’ before string constant

コンパイルエラーになりました。

トラックバック - http://fragments.g.hatena.ne.jp/SweetPotato/20100907