Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1457 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Convertir un retour chariot Unix en retour chariot Windows

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Convertir un retour chariot Unix en retour chariot Windows

n°927999
benj63
Posté le 20-12-2004 à 13:22:44  profilanswer
 

Bonjour,  
 
Je travaille actuellement sous Redhat 9, avec le compilateur g++. J'ai créé une ptite classe StringList, qui contient une liste de string à la manière du TStringList de C++ Builder. J'ai développé des méthodes LoadFromFile, et SaveToFile...  
 

Code :
  1. void StringList::SaveToFile(string nom_fichier)
  2. {
  3. std::ofstream fe (nom_fichier.c_str());
  4. int i;
  5. if(fe!=NULL)
  6. {
  7.    i=0;
  8.    while(i<this->Count)
  9.    {
  10.       fe << this->Strings[i].c_str() << "\r\n";
  11.       i++;
  12.    }
  13. }
  14. fe.close();
  15. }


 
Les fichiers que je convertis avec mon application sont utilisés en entrée d'une autre application, sous Windows. Cette application sous Windows est un modèle de simulation, et a été développée il y a fort longtemps... et il ne parvient pas à lire mes fichiers textes créés sous Unix ! Il fonctionne un peu de la même manière que le simple notepad de Windows, et ne reconnait pas les retours chariots... donc ça me pose des problèmes, car je ne peux absolument pas changer le modèle de simulation.  
 
 
J'ai donc tenté :  
 
- \n : c'est reconnu comme des caractères spéciaux  
 
- \r\n : c'est reconnu comme des retours chariots, avec des caractères spéciaux au milieu. D'ailleurs si j'ouvre mon fichier sous vi j'ai :  

ligne1:^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M  
ligne2:^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M  
ligne3:^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M  
ligne4:^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M  
ligne5:^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M  
ligne6:^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M  
ligne7:^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M  
ligne8:^M^M^M^M^M^M^M^M^M^M^M^M^M^M  
ligne9:^M^M^M^M^M^M^M^M^M^M^M^M^M  
etc

c'est louche quand meme !  
 
- std::endl; : ce n'est pas reconnu comme des retours chariots  
 
 
Peut-être est-il nécessaire que je passe par une application extérieure sous Unix, pour convertir ces foutus retours chariots ?!! Ou y'a-t'il d'autres méthodes pour écrire correctement mes fichiers ?...
 
Merci pour vos suggestions !  :)

mood
Publicité
Posté le 20-12-2004 à 13:22:44  profilanswer
 

n°928126
blackgodde​ss
vive le troll !
Posté le 20-12-2004 à 15:18:07  profilanswer
 

je dirais de mettre \n dabs les 2 cas, et faire les transferts inter-plateformes par ftp en mode texte pour convertir les retours chariots


---------------
-( BlackGoddess )-

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Convertir un retour chariot Unix en retour chariot Windows

 

Sujets relatifs
Programmer en C sous windows[Mysql] Convertir une bdd faite sous Mysql 4.1.7 en 4.0.22
démarrer tomcat en tant que service windowspassage de parametres a 1 fonction pb de retour
[Direct3D] creer une région windows a partir d'un rendu direct3Ddonnées membres et retour par référence de ces dernières
Convertir un .doc en .pdf[VBA Mac] Differences entre les menus Mac et Windows ?
[PROB] PHP debutant - Retour a la ligne[unix] tubes nommés, ça bloque...
Plus de sujets relatifs à : Convertir un retour chariot Unix en retour chariot Windows


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR