Forum Programmation.c++ Ecrire dans un fichier qui est dans $HOME

Posté par  .
Étiquettes : aucune
0
14
nov.
2005
Bonjour,

je débute en c++ (et en QT). Je voulais savoir si quelqu'un savait par hasard comment écrire dans $HOME/monfichier ?

Pour le moment je fais

ofstream out("monfichier");
if(!out){
qWarning("File not opened");
exit(-1);
}
out<< "labla"<<\n';
out.close();
system("mv -f monfichier ~/monfichier");

Mais je pense que c'est une facon de faire assez sale. J'avais bien essayé en définissant pathfile=strcat((char *)getenv("HOME"), "monfichier"); et en écrivant dans pathfile, mais ca veut pas.

D'avance merci
  • # meuh

    Posté par  (site web personnel) . Évalué à 1.

    Mais je pense que c'est une facon de faire assez sale. J'avais bien essayé en définissant pathfile=strcat((char *)getenv("HOME"), "monfichier"); et en écrivant dans pathfile, mais ca veut pas.

    regarde le man de strcat. il faut que le pointeur premier argument soit assez grand pour contenir le résultat final. là tu burrines dans l'environnement, c'est mal.

    tu peux utiliser strcat correctement, ou utiliser asprintf, ou regarder ce qu'il existe dans les string C++, ou encore utiliser ce qui est dispo dans QT à ce propos.
  • # Ca marche, mais c'est sale

    Posté par  . Évalué à -2.

    int main (void)
    {
    system (echo "blabla">FILE);
    return 0)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.