arsenecouette
Messages postés8Date d'inscriptionmercredi 21 décembre 2005StatutMembreDernière intervention27 décembre 2005
-
21 déc. 2005 à 18:58
arsenecouette
Messages postés8Date d'inscriptionmercredi 21 décembre 2005StatutMembreDernière intervention27 décembre 2005
-
22 déc. 2005 à 10:52
Bonjour,
Je viens de voir que la fonction GetCurrentDirctory() permettait de recupèrer le chemin du repertoire courant.
Neanmoins apres avoir regarder sur la doc msdn je n'arrive toujours pas à faire marcher cette fonction.
Ainsi pourriez vous m'aider svp sur les librairies à importer et comment utiliser celle-ci .
arsenecouette
Messages postés8Date d'inscriptionmercredi 21 décembre 2005StatutMembreDernière intervention27 décembre 2005 21 déc. 2005 à 19:18
Merci vecchio pour ta reponse mais je vois pas comment utiliser cela. Je suis novice en c++ donc faut que j'apprenne.
Je vais detailler un peu plus mon probleme.
void MailDir::SupprimerTMail()
{
for(int i=0;i<ReturnIndice();i++)
{
string temp= "M:\\divers cour à trier\\C++\\ProjetInfo\\ServeurSMTP\\ServeurSMTP_15_12_05\\Toto\";
ostringstream number ;
number << i ;
temp += number.str() ;
temp += ".txt" ;
remove(temp.c_str());
}
ReinitialisationIndiceMail();
}
voila mon code de l'une de mes fonctions et j'aimerais remplacer le M:\\divers cour à trie..... par le retour de la fonction GetCurrentDirectory . Comme ca mon application marche sur n'importe quelle machine et dans n'importe quel chemin.
gamemonde
Messages postés336Date d'inscriptionsamedi 9 août 2003StatutMembreDernière intervention 9 juillet 20112 21 déc. 2005 à 21:41
void MailDir::SupprimerTMail()
{
for(int i=0;i<ReturnIndice();i++)
{
string temps;
GetCurrentDirectory(MAX_PATH, temps);
ostringstream number ;
number << i ;
temps += number.str() ;
temps += ".txt" ;
remove(temps.c_str());
}
ReinitialisationIndiceMail();
}
voila tu remplace temps par une chaine
Vous n’avez pas trouvé la réponse que vous recherchez ?
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 21 déc. 2005 à 21:45
Non, surtout pas ca! GetCurrentDirectory ne connait pas string
void MailDir::SupprimerTMail()
{
for(int i=0;i<ReturnIndice();i++)
{
TCHAR szPath[MAX_PATH];
GetCurrentDirectory(MAX_PATH, szPath);
ostringstream number ;
number << i ;
temp += number.str() ;
temp += ".txt" ;
remove(szPath);
}
ReinitialisationIndiceMail();
}
Mais ce code ne marchera pas sur n'importe quelle machine (que sous Windows).
Que doit faire l'appel à remove? Regarde si la fonction PathRelativePathTo ne pourrait pas t'aider
gamemonde
Messages postés336Date d'inscriptionsamedi 9 août 2003StatutMembreDernière intervention 9 juillet 20112 21 déc. 2005 à 21:49
oui mais la ton chose marche toujours pas car il prend les fichiers de ce repectoire et ajoute le chiffre + ,.txt
alors il n``a qu'a faire une conversion en string c'est pas illegale ou de faire strcopy si ma memoire est bonne ou encore un wsprintf s'il veux utiliser des chars.
il me semblais aussi qu'il ne prenais pas les strings. mais j'ai pas verifiers.
tres peu de chose prennent des strings.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 21 déc. 2005 à 23:58
Faudrait aussi être certain que tu trouveras ce que tu cherches dans GetCurrentDirectory.
Ne serait pas plutôt le dossier de ton exe que tu voudrais ? Si oui alors GetModuleFilename().
Ta currDir peut avoir été modifiée avant le lancement de ton prog par le raccourci lanceur comme par tant d'autres facteurs.
arsenecouette
Messages postés8Date d'inscriptionmercredi 21 décembre 2005StatutMembreDernière intervention27 décembre 2005 22 déc. 2005 à 10:25
Je suis vraiment desolé mais rien de ce que vous m'avez donné ne marche.
Je vais alors essayé d'etre encore plus clair.
Je programme sous Microsoft Visual C++ 6.0 avec window XP comme OS.
Et en faitvecchio56, quand tu me donnes :
TCHAR szPath[MAX_PATH];
GetCurrentDirectory(MAX_PATH, szPath);
string temp = szPath;
le compilateur me dis
'TCHAR' : undeclared identifier
syntax error : missing ';' before identifier 'szPath'
'szPath' : undeclared identifier
'MAX_PATH' : undeclared identifier
subscript requires array or pointer type
'GetCurrentDirectory' : undeclared identifier
'initializing' : cannot convert from 'int' to 'class std::basic_string<char,struct std::char_traits<char>,c
ainsi ne viendrait-ce pas d'une librairie que j'ai pas inclut?????????
La je sais plus koi faire.
Et pour repondre à la question de BruNews, en fait je suis en train de faire un mini projet info ou je dois programmer en C++ un serveur SMTP (simplifié bien sure).
Donc celui-ci devant etre portable il ne serait pas judicieux que je sauvegarde mes mails recut ds C:// ...../serveurSMTP//.....
Mais ce serait mieux de recuperer le dossier ou se trouve mes fichiers sources(donc le dossier ou je compile) puis juste de fournir un nom de dossier qui se trouverais aussi ou se trouve mes sources.