Dossier

Résolu
angsthase Messages postés 72 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 11 avril 2005 - 31 mars 2005 à 09:21
angsthase Messages postés 72 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 11 avril 2005 - 31 mars 2005 à 11:26
Bonjour à tous!



Voici un petit bout de programme que j'ai recupérer sur 'msdn' et que je n'arrive pas à faire fonctionner.

C'est dû au paramètre qui se trouvent dans les parenthèses du main(.....) (enfin je pense).



A quoi correspondent-ils exactement?



Voici la source :



#define _WIN32_WINNT 0x0400

#include <windows.h>

#include <stdio.h>

#include <stdlib.h>



int main(int argc, char *argv[])

{

WIN32_FIND_DATA FindFileData;

HANDLE hFind;



printf ("Target file is %s.\n", argv[1]);

hFind = FindFirstFile(argv[1], &FindFileData);

if (hFind == INVALID_HANDLE_VALUE)

{

printf ("Invalid File Handle. GetLastError reports %d\n\a", GetLastError ());

system("PAUSE");

return (0);

}

else

{

printf ("The first file found is %s\n", FindFileData.cFileName);

FindClose(hFind);

system("PAUSE");

return (1);

}

}




AngstHase

3 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
31 mars 2005 à 10:13
argc correpond au nombre de paramètres de la ligne de commande
argv est un tableau des arguments de la ligne de commande

exemple si ton prog s'applelle myProg et que tu l'appelle comme suit
myProg param1, param2

argc = 3
argv[0] = "myprog" (chemin d'accès complet)
argv[1] = "param1"
argv[2] = "param2"

Dans ton cas si tu execute directement l'exe, il manquera les arguments, il faut donc les spécifier au lancement du prog (a priori le fichier à chercher)
3
angsthase Messages postés 72 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 11 avril 2005 1
31 mars 2005 à 11:03
Merci c'est très clair!

Mais le programme ne trouve toujours pas mon fichier. J'ai créer le fichier target.txt dans mon 'C:\' ( la ou mon application ce trouve) et dans 'C:\DEV-CPP\'. Et toujours rien .............



Voici mon nouveau code : (Seul la ligne en rouge à changer!)



int main(int argc, char *argv[])

{

WIN32_FIND_DATA FindFileData;

HANDLE hFind;



argv[1]="Target.txt";

printf ("Target file is %s.\n", argv[1]);

hFind = FindFirstFile(argv[1], &FindFileData);



.....................................................



Après c'est pareil.

AngstHase
0
angsthase Messages postés 72 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 11 avril 2005 1
31 mars 2005 à 11:26
C'est bon j'ai trouver comment rechercher un fichier.



hFind = FindFirstFile(*.txt, &FindFileData);



Puis le nom du fichier est : FindFileData.cFileName



Merci quand même!



AngstHase
0
Rejoignez-nous