View Single Post
Old 16-11-2005, 13:47   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da ka0s
Ah ho capito cosa vuoi dire... però il file di testo che dovrei includere contiene una marea di caratteri tipo " ecc. che quindi andrebbero tutti "sistemati"... è un lavoraccio (tra l'altro abbastanza inutile credo...).

Se fosse possibile includerlo all'interno come detto da kk3z in modo da leggere e copiare in un altro file sarebbe molto piu veloce e comodo... ora cmq che ho un po' di tempo proverò i vari procedimenti, se avete altre proposte e soluzioni fatemele sapere!
Beh, no ... dai! Un lavoraccio proprio no! Se vuoi ti posto un esempio semplice e minimale per fare una utility, come ti ho spiegato già prima, per convertire un file di testo in un sorgente C/C++:

Codice:
#include <stdio.h>

int main (int argc, char *argv[])
{
    FILE *fi, *fo;
    int   ch;
    long  size = 0;

    if (argc == 4)
    {
        if ((fi = fopen (argv[1], "r")) != NULL)
	{
	    if ((fo = fopen (argv[2], "w")) != NULL)
	    {
	        fprintf (fo, "char %s[] =\n\"", argv[3]);

                while ((ch = getc (fi)) != EOF)
		{
		    if (ch == '"' || ch == '\\')
		        putc ('\\', fo);
		
		    putc (ch, fo);
		    size++;
		}
	
	        fprintf (fo, "\";\n");
		fprintf (fo, "long %s_size = %ld;", argv[3], size);
	        fclose (fo);
	    }

	    fclose (fi);
	}
    }

    return 0;
}
Lo compili e poi lo usi con 3 parametri:
nome-utility prova.txt prova.c miotesto
Chiaramente dai il nome tu alla utility come vuoi!
Io l'ho già provato, funziona benissimo e con qualunque carattere.
E, nota, ti crea pure una variabile "long" con la lunghezza del testo.
Poi vedi tu. Ciao.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso