Auto-dupliquer le programme courant

Contenu du snippet

Voici un code qui permet de dupliquer le programme en cours d'éxécution, à vous de trouver son utilité ;)

Source / Exemple :


#include <stdio.h>

#define FILE_DEST "c:\\test.exe"

int fexist(const char *filename)
{
FILE *fichier = NULL;

fichier = fopen(filename, "rb");
if (fichier == NULL)
    return 0;
else
{
    fclose(fichier);
    return 1;
}
}

int main(int argc, char *argv[])
{
    if(fexist(FILE_DEST)==0)
    {
        int c;
        FILE *fin, *fout;
        fin = fopen(argv[0], "rb");
        fout = fopen(FILE_DEST, "wb");
        while((c=getc(fin)) != EOF)
             putc(c, fout);
        fclose(fin);
        fclose(fout);
    } 
    return 0;
}

Conclusion :


le petit truc spécial de ce programme est le mode rb et wb pour la copie et écriture qui spécifie au système qu'il s'agit d'un fichier binaire.
P.S.: je pense que ça se passe de commentaire vu que les fonctions classiques sont utilisées mais si vous le désirer, je peux en mettre pour détailler aux débutants...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.