chaine de caractère qui disparait ???

chaine de caractère qui disparait ??? - C++ - Programmation

Marsh Posté le 05-11-2003 à 15:08:50    

mon code qui marche pas alors j'essaye un peu n'importe quoi :sweat:  
 

Code :
  1. #include <process.h>
  2. #include <string.h>
  3. #include <stdio.h>
  4. #include <fstream.h>
  5. #include <iostream.h>
  6. int main(int argc, char **argv)
  7. {
  8. char *debut;
  9. char *milieu;
  10. char *fin;
  11. char seps[] = ":";
  12. char *login;
  13. char *pass;
  14. char string[200];
  15. debut = "crot ";
  16. milieu = " -pw ";
  17. fin = " fin\\";
  18. if(argc < 2) argv[1] = "abcde";
  19. ifstream a_file("c:\\neuneu\\example.txt" );
  20. a_file>>string;   
  21. a_file.close();   
  22. /* Establish string and get the first token: */
  23. login = strtok(string, seps);
  24. pass = strtok(NULL, seps);
  25. cout << login << endl;
  26. cout << pass << endl;
  27. sprintf(string, "%s%s%s%s%s", debut, login, milieu, fin, argv[1]);
  28. cout << string << endl;
  29. cout << login << endl;
  30. //system(string);
  31. return 0;
  32. }


 
fichier example.txt

USER:PASSWORD


 
 
Résultat de l'exécution


USER
PASSWORD
crot crot cr -pw  fin\abcde
crot crot cr -pw  fin\abcde
Press any key to continue


 
 
donc je réccupère bien login et password, mais j'arrive pas à concaténer le tout
 
j'ai aussi essayé avec strcpy et strcat mais il ne voulait pas non plus :(
 
qu'est-ce qui ne va pas ? :cry:


Message édité par art_dupond le 05-11-2003 à 15:14:55

---------------
oui oui
Reply

Marsh Posté le 05-11-2003 à 15:08:50   

Reply

Marsh Posté le 05-11-2003 à 15:11:30    

C'est possible que ce soit dans la déclaration des variables qu'il y a des problèmes ?


---------------
oui oui
Reply

Marsh Posté le 05-11-2003 à 15:12:26    

C'est pas du C++ ça, c'est de la gestion de chaine à la C.
 
Comme tu as l'air d'utiliser un compilateur C++, oublie les char * et utilises std::string ça te simplifiera la vie.

Reply

Marsh Posté le 05-11-2003 à 15:12:26    

c tout moche ton code [:sisicaivrai]

Reply

Marsh Posté le 05-11-2003 à 15:17:04    

ben oui c'est tout moche... j'ai fait du C++ y a au moins pleins de temps... puis j'ai fait du C y a pas longtemps... puis je mélange tout...  
 
puis comme ca marche pas, je fais vraiment n'importe quoi...
 
 
faut pas pleurer... enfin c'est moi qui pleure mais bon...
 
il faut déclarer std::string ??? j'ai essayé de déclarer des variables de type string, mais ca marchait pas (j'avais include string.h)
 
bon, je testeuh...
 
merci


---------------
oui oui
Reply

Marsh Posté le 05-11-2003 à 15:18:23    

#include <string>
 
 
std::string poupou;
 
concatenation de deux strings via l'operation '+'
si jamais t'as besoin d'avoir un char * a partir d'un std::string (genre pour system) alors tu utilises la fonction c_str()
 

Reply

Marsh Posté le 05-11-2003 à 16:10:33    

yop,
 
 
j'ai réussi à faire quelque chose qui marche et qui est un peu moins brouillon...  
 
merci monsieur :jap:


---------------
oui oui
Reply

Sujets relatifs:

Leave a Replay

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