comment faire un appel à un fichier depuis run??

comment faire un appel à un fichier depuis run?? - C++ - Programmation

Marsh Posté le 22-12-2006 à 20:19:33    

si jamais j'ai un fichier que je l'ai mis en mode lire et écrire et qui sous format .vtk et je voudrai l'appeler et de le charger depuis run je fais comment je dois mettre quelque chose dans mon programme surtout dans mon "main", mais comment le faire ? et je suis désoler puisque je vous pose trop de question :sarcastic:  et merci pour votre aide  :jap:

Reply

Marsh Posté le 22-12-2006 à 20:19:33   

Reply

Marsh Posté le 22-12-2006 à 20:41:32    

apprendre à programmer ? Commencer par la base de la programmation ?


Message édité par _darkalt3_ le 22-12-2006 à 20:45:49
Reply

Marsh Posté le 22-12-2006 à 21:08:22    

merci pour ton aide précieux je sais que je suis moitié nulle en programmation mais je suis obligé à la connaître rapidement comme je suis en stage en c++ et mon diplôme de base est l'ingéinerie biomédicale donc tu vois quel différence donc si tu as une ideé qui me pourra ce servir je te remercie si non je te remercie pour ta conseille

Reply

Marsh Posté le 23-12-2006 à 11:09:02    

La ponctuation aussi, donc.

Reply

Marsh Posté le 03-01-2007 à 11:13:07    

je n'ai pas compris se que tu voulais me dire par la ponctuation tu pourras m'expliquer un chuiya stp

Reply

Marsh Posté le 03-01-2007 à 11:43:01    

hamoudasafira1 a écrit :

je n'ai pas compris se que tu voulais me dire par la ponctuation tu pourras m'expliquer un chuiya stp

Je pense qu'il veut dire que tu pourrais améliorer la lisibilité de tes posts en utilisant un peu de ponctuation (et en respectant les règles de base de la grammaire française)
 
 
Pour ton problème de C++, il faut absolument que tu commences par apprendre les bases de la programmation. Tu trouveras plein de liens utiles dans les topics bibliolinks sur le forum. Ensuite, reviens si tu as un problème précis et poste le bout de code correspondant.
 
Bon courage.


---------------
TriScale innov
Reply

Marsh Posté le 03-01-2007 à 11:57:54    

je te remercie pour ton néteter évidement je suis un français mais je connais trés bien la langue. Pour la language de C++, j'ai commencé par la base de programmation avec pas mal des livres. je veux te mettre les codes là ou j'utilise le read et right pour enregistrer mon fichier.
 

Code :
  1. // save the output mesh to .vtk format for 4 faces
  2. char fourfaces[500];
  3. strcpy(fourfaces,"4faces.vtk" );
  4. vtkPolyDataWriter *Data=vtkPolyDataWriter::New();
  5. Data->SetInput(cube);
  6. Data->SetFileName("4faces.vtk" );
  7. Data->Write();
  8. //read the file .vtk format
  9. vtkSurface *FromFile=vtkSurface::New();
  10. FromFile->CreateFromFile("4faces.vtk" );


le problème que je voudrai afficher le fichier 4faces.vtk par la mode d'exécution ou bien "run" en anglais dans le pc comment je puisse le faire????????????

Reply

Marsh Posté le 04-01-2007 à 20:18:42    

hamoudasafira1 a écrit :

...le read et right ...


 :lol:

Reply

Marsh Posté le 05-01-2007 à 01:10:37    

ce que tu cherche a faire, c'est pouvoir executer la commande : "monprogramme.exe 4faces.vtk" et que ca t'affiche le contenu du fichier .vtk c ca?
 
si c'est bien ca regarde du coté de argc et de argv du main
 
int main(int argc, char** argv), dans argc tu as le nombre de parametre passé au programme +1  et argv est un tableau contenant les chaines de caractere transmises (la premiere est dans argv[1])

Reply

Marsh Posté le 05-01-2007 à 15:19:40    

oui c'est bien ça t'a compris ce que je voudrai faire mais on fait c'est que je n'ai pas compris de ton explication ce qu'est dans argc (paramétre passé au programme +1????). Si j'ai bien compris est ce qu'il faut que je mets le nom de mon programme dans argv??? comme ça argv[4faces.vtk]????? Est ce que je cherche aussi à faire, c'est de faire changer le nombre d'itération que se trouve dans le programme je voulais que ça soit aussi avec l'exécution de programme. c.à.d. quand j'exécute le programme (mon programme il fait le filtrage) je dois changer aussi le nombre d'itération N à l'extérieur (pendant l'exécution mais dans le programme). et merci bien

Reply

Marsh Posté le 05-01-2007 à 15:19:40   

Reply

Marsh Posté le 05-01-2007 à 15:29:24    

si tu exécutes ton programme comme ceci :

myprog arg1 arg2 arg3


tu te retrouves dans ta fonction main (int argc, char **argv) avec les données suivantes :
argc = 4
argv[0] = "myprog"
argv[1] = "arg1"
argv[2] = "arg2"
argv[3] = "arg3"
 
Donc tu peux récupérer dans argv les arguments que l'utilisateur a passés à ton programme en ligne de commande.


---------------
TriScale innov
Reply

Marsh Posté le 05-01-2007 à 16:06:22    

je te suis mais ce que je n'ai pas compris ou bien c'est que je ne trouve pas c'est ou je pourrai exécuter le programme 4faces.vtk et pourqoui argc=4???? et si j'ai bien compris est ce qu'il faut que je mets à la place de arg1 mon programme "4faces.vtk" ?????? et ou je pourrai mettre ça:
argc = 4  
argv[0] = "myprog"  
argv[1] = "arg1"  
argv[2] = "arg2"  
argv[3] = "arg3"
dans le main?????
je m'excuse si je te dérange mais je sais pas le faire et je te remercie infiniment pour ton aide

Reply

Marsh Posté le 05-01-2007 à 16:12:44    

les arguments de main (que j'ai appelés argc et argv dans mon exemple mais tu pourrais mettre un nom différent) sont remplis automatiquement par le système. Tu ne dois pas écrire dedans ; ils te servent juste à lire les arguments que l'utilisateur a passés à ton programme.
 
Par exemple si ton programme est censé afficher les informations de ton fichier 4faces.vtk, tu peux décider qu'il s'agira du premier argument en ligne de commande de ton programme. celui-ci s'appelera donc comme ceci en ligne de commande :

my prog file.vtk


 
et à l'intérieur de ta fonction main, tu peux récupérer le nom du fichier dans argv[1] (après avoir vérifié que l'utilisateur a bien fourni l'argument)
 
PS: tout ça c'est la base du C, alors tu ferais sans doute mieux de commencer par ouvrir un bon bouquin.


Message édité par franceso le 05-01-2007 à 16:13:38

---------------
TriScale innov
Reply

Marsh Posté le 05-01-2007 à 16:31:10    

je crois avoir compris comment je pourrai le faire et c'est juste si tu pourras me corriger ok:
myprog 4faces.vtk //je le mets à l'ext. du mon main
argv[1]="4faces.vtk"
------
int main (int argc, char *argv[1])//comme ça il pourra lire mon fichier non????
et un autre truc comment je pourrai définir le nombre N qui est égale qu nombre d'itérations dans le main aussi je fasse à l'intérieur de main int NumbreOfIteration par exemple non??????

Reply

Marsh Posté le 05-01-2007 à 16:39:54    

ouvre un bouquin de C stp :spamafote:
 
On t'a déjà donné 36 fois la solution à ton problème. Tu as tout ce qu'il te faut pour chercher le reste sur le web ou dans ton bouquin préféré. Visiblement tu as de sérieuses lacunes en C ; comble les !


---------------
TriScale innov
Reply

Marsh Posté le 05-01-2007 à 16:46:16    

ok merci je suis entréine de chercher là dedans et merci pour ton aide précieux mais si tu pourras me passer un boukin te semble intéressant et qui pourra m'aider

Reply

Marsh Posté le 05-01-2007 à 19:46:16    

Tiens regarde ca, c'est un debut:
http://www.siteduzero.com/tuto-3-1 [...] -main.html
Notamment la partie "utiliser les parametres"

Reply

Marsh Posté le 05-01-2007 à 20:04:33    

je te remercie c'est trés bien comme début mais je voudrai savoir quand je veux remplir mon argument par exemple:
si j'ai dans mon class cette fonction
void ApplyNonShrinkingFairing (double Lambda, double Kappa, int NumberOfIterations)
 
et moi je voudrai on fait quand je fasse l'exécution de mon fichier .vtk par rapport à éxecuter je dois aussi faire changer le nombre d'itérations sans avoir à chaque fois entrer dans le programme pour le faire changer comment je pourrai le faire??????

Reply

Marsh Posté le 05-01-2007 à 21:16:26    

hamoudasafira1 a écrit :

je te remercie c'est trés bien comme début mais je voudrai savoir quand je veux remplir mon argument par exemple:
si j'ai dans mon class cette fonction
void ApplyNonShrinkingFairing (double Lambda, double Kappa, int NumberOfIterations)
 
et moi je voudrai on fait quand je fasse l'exécution de mon fichier .vtk par rapport à éxecuter je dois aussi faire changer le nombre d'itérations sans avoir à chaque fois entrer dans le programme pour le faire changer comment je pourrai le faire??????


 
Faut vraiment être patient avec toi :-)
tu lances ton programme en faisant :
tonprog.exe 4faces.vtk 128, si tu veux charger ton fichier 4faces.vtk et faire 128 itérations. Bien.
Ton main doit ressembler à ça, je reprends ton code d'avant:

Code :
  1. int main(int argc, char *argv[])
  2. {
  3.    //blabla tes variables
  4.    //read the file .vtk format
  5.      vtkSurface *FromFile=vtkSurface::New();
  6.      FromFile->CreateFromFile(argv[1]);
  7.      ApplyNonShrinkingFairing (Lambda, Kappa, atoi(argv[2]));
  8. }


rien de plus


Message édité par GrosBocdel le 05-01-2007 à 21:17:35
Reply

Marsh Posté le 08-01-2007 à 13:00:53    

je te remercie on fait c'été tout a fais ça ce que je cherche je l'ai fait et ça marche mais il me reste juste un tout petit problème comment convertir un double pour être un char pour le valeur de lambda, et kappa. on fait je voudrai les mettres eu aussi en argument. merci bien

Reply

Marsh Posté le 08-01-2007 à 13:51:42    

strtod pour convertir une chaine de caractere (l'argument) en double

Reply

Marsh Posté le 08-01-2007 à 14:05:06    

je te remercie mais, ça na pas marché puisqu'il m'affiche une erreur comme quoi strtod ne prend pas 1 seul argument. et si je le met pour les deux j'aurai un problème puisque ma fonction
ApplyNonShrinkingFairing (Lambda, Kappa, atoi(argv[2])); prend 3 paramétres voilà merci pour ton aide

Reply

Marsh Posté le 08-01-2007 à 14:18:52    

c'est bon je l'ai trouvé c'été atof merci bien

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed