2 * data2csrc.c -- Read data and output c source to stdout
4 * Copyright (c) 2007 Thomas Perl <thpinfo.com/about>
5 * Website: http://thpinfo.com/
7 * License: This code is in the public domain.
14 int main( int argc
, char** argv
) {
17 char filename
[FILENAME_MAX
], varname
[FILENAME_MAX
];
19 if( argc
!= 3 && argc
!= 2) {
20 fprintf( stderr
, "Usage: %s /path/to/infile.dat [name_of_variable]\n", argv
[0]);
24 strcpy( filename
, argv
[1]);
27 /* Determine variable name based on filename */
28 strcpy( varname
, argv
[1]);
29 for( i
=0; i
<strlen( varname
); i
++) {
30 if( varname
[i
] == '.') varname
[i
] = '\0';
31 if( varname
[i
] == '-') varname
[i
] = '_';
34 strcpy( varname
, argv
[2]);
37 fp
= fopen( filename
, "rb");
38 if( fp
== NULL
) { fprintf( stderr
, "Cannot open file: %s\n", argv
[1]); exit(1); }
39 printf( "/**\n * Automatically generated from \"%s\" by %s.\n **/\n", filename
, argv
[0]);
40 printf( "const char %s[] = {", varname
);
41 while( (c
= fgetc( fp
)) != EOF
) {
42 if( x
> 0) putchar(',');
43 if( x
++ % 20 == 0) putchar('\n');