PDA

View Full Version : [c] programma simpatico


fsdfdsddijsdfsdfo
27-10-2006, 01:29
mi scrivete un programma che stampi il proprio codice?

so che esiste una funzione che fa questo, perfavore, cerate di non usarla.

Ziosilvio
27-10-2006, 01:30
Prova a fare un giro sul sito dell'International Obfuscated C Code Contest (http://www.ioccc.org/)... :eek:

fsdfdsddijsdfsdfo
27-10-2006, 12:37
Prova a fare un giro sul sito dell'International Obfuscated C Code Contest (http://www.ioccc.org/)... :eek:
si si

il problema è che la maggior parte di quel codice non mi si compila .(:(

AngeL)
27-10-2006, 14:29
se c'è anche il file .c basta leggerlo... altrimenti da .exe non saprei proprio come fare :confused:

cavay
27-10-2006, 18:29
Non ho capito bene, ti serve un programma che stampa il suo sorgente?

qualcosa di questo tipo, nomina il file sorgente pippo.C e l'eseguibile pippo:

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

int main(int numArgs, char** Args)
{
char *cmd = new char[strlen(Args[0])+strlen("cat ")+1];
sprintf(cmd,"cat %s.C\n",Args[0]);
system(cmd);
}

Ovviamente sto' parlando SO LINUX, altrimenti utilizza il corrispettivo di cat per winzoz...che non conosco assolutamente!

Qualcosa del genere? o ti serve qualcosa del tutto diversa?

beppegrillo
27-10-2006, 18:35
new char?
e che sarebbe :P

Fenomeno85
27-10-2006, 18:59
new char?
e che sarebbe :P

ha allocato un array.

~§~ Sempre E Solo Lei ~§~

beppegrillo
27-10-2006, 19:33
ha allocato un array.

~§~ Sempre E Solo Lei ~§~
ma stiamo parlando di c?
In c è possibile allocare un array usando new blabha[dim]?? :eek:

lovaz
27-10-2006, 19:34
new? in C?

forse e' stato aggiunto negli ultimi standard? ('99?)

Fenomeno85
27-10-2006, 19:37
ma stiamo parlando di c?
In c è possibile allocare un array usando new blabha[dim]?? :eek:

no è c++ ... altrimenti devi usare il malloc del c.

~§~ Sempre E Solo Lei ~§~

beppegrillo
27-10-2006, 19:38
no è c++ ... altrimenti devi usare il malloc del c.

~§~ Sempre E Solo Lei ~§~
ah ecco, dagli include non mi pareva fosse c++ :D

71104
27-10-2006, 19:47
spiego brevemente per chi non avesse colto: beppegrillo ha giustamente notato l'uso di new, che sarebbe un operatore C++ nonché un bell'errore di sintassi in C, e Fenomeno85 che è ignorante (:p) non cogliendo l'ironia ha tentato di spiegare come si allocano blocchi di memoria dinamica in C++ :Prrr:

Fenomeno85
27-10-2006, 19:48
ah ecco, dagli include non mi pareva fosse c++ :D

diciamo che con compilatori non troppo old si possono fare queste cose.

~§~ Sempre E Solo Lei ~§~

Fenomeno85
27-10-2006, 19:49
spiego brevemente per chi non avesse colto: beppegrillo ha giustamente notato l'uso di new, che sarebbe un operatore C++ nonché un bell'errore di sintassi in C, e Fenomeno85 che è ignorante (:p) non cogliendo l'ironia ha tentato di spiegare come si allocano blocchi di memoria dinamica in C++ :Prrr:

:fuck:

~§~ Sempre E Solo Lei ~§~

Ziosilvio
27-10-2006, 21:45
Io conoscevo questa soluzione qui:
char*p="char*p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
Però confesso di averla presa dall'IOCCC... da solo non ci sarei mai arrivato...

71104
27-10-2006, 23:35
:fuck: :D