とっても荒削りの状態ですね。。。
入力ファイル名はコマンドラインから、出力は標準出力へ。
bin2csv.c
#include <stdio.h>
#include <stdint.h>
#define FIELD_COUNT (12)
#define LINE_MAXIMUM (1000000)
static void bin2csv32(FILE *fin, int max_field, int max_line)
{
int line = 0;
int i = max_field;
for (;;) {
uint32_t data;
size_t len = fread(&data, 1, sizeof(data), fin);
if (sizeof(data) == len) {
fprintf(stdout, "%d", data);
if (--i) {
fprintf(stdout, ",");
}
else {
i = max_field;
fprintf(stdout, "\n");
if (++line >= max_line) {
// LINE OVER
break;
}
}
}
else {
// EOF
break;
}
}
}
int main(int argc, char* argv[])
{
FILE *fin;
if (argc != 2) {
fprintf(stderr, "Usage : %s inputFileName\n", argv[0]);
return 255;
}
if (NULL != (fin = fopen((const char *)argv[1], "rb"))) {
bin2csv32(fin, FIELD_COUNT, LINE_MAXIMUM);
fclose(fin);
}
else {
fprintf(stderr, "File not found. (%s)\n", argv[1]);
}
return 0;
}