cwnicol programming

プログラミング関連の投稿をすこしだけ

#includeでcsv読み込み(C, C++)

環境:VSC++ 2008


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


こんなの見つけたから試してみた。
以下、テストプログラム、データファイル、結果。

#include <stdio.h>
#include <stdlib.h>

int main(){

	char* buf[] = {
		#include "c:\\data.csv"
	};

	int i;
	int num = sizeof(buf)/sizeof(int);

	for(i = 0; i < num; i++){
		printf("%s\n", buf[i]);
	}

	return 0;
}


data.csv

"aaa","bbb","ccc"


結果

aaa
bbb
ccc


本当にできた。

	char* buf[] = {
		#include "c:\\data.csv"
	};

ここ(↑)は

	char* buf[] = {#include "c:\\data.csv"};

これ(↑)ではエラーが出てコンパイルが通らなかった。


簡単なツール作るぐらいに使えるかな


追記:
と思ったら、この方法をcsvファイル変更するたびにコンパイルしなくてはならない。。