Runtime ?!

Chaminouonw Messages postés 15 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 19 juillet 2006 - 19 juil. 2006 à 00:34
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 - 19 juil. 2006 à 10:45
Bonjour,
je tente de faire un programme qui supprime les accents d'un fichier, voila mon source :

#include
#include <string>
#include <fstream>

using namespace std ;

const char lettres[2][8] =  {{char(133), char(131), char(130), char(138), char(136), char(151), char(140), char(135)}, {'a','a','e','e','e','u','i','c'}};

int main( int nNumberofArgs, char* pszArgs[]){
   
    if (nNumberofArgs == 1){
    cout << "Aucun fichier detecte en parametre." << endl ;
    return 1;
    }

    for (int i=1 ; i<nNumberofArgs ; i ++){
       
        fstream port(pszArgs[i], ios::in|ios::out);
        string chaine ;
        int n;
        if ( port ){
             while (getline(port, chaine)){
                   for (int j=0 ; j<8 ; j ++){
                       n=0;
                       n = chaine.find(lettres[0][j]);
                       chaine.replace(n, 1, (char*)&lettres[1][j]);
                       }
                   cout << chaine << endl;
                   }
             }
        port.close();
        cout << "Fin de lecture de fichier.\n" ;
        }

    system("pause");
    return 0;
}

Je lance le programme pour voir ce qu'il me raconte et là il m'affiche :

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.




Que se passe-t-il ?? Merci de m'aider




Chaminouonw

4 réponses

cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
19 juil. 2006 à 00:47
salut,
tu développes avec quoi Dev-C++, Visual Studio ou un autre?
si tu developpes avec VS est-ce que t'aurrais pas créé un projet .NET ?

Bob...
"La chance accorde ses faveur aux esprits avertis..."
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 juil. 2006 à 00:52
Mais non, c'est l'annonce courante depuis le CRT.

ciao...
BruNews, MVP VC++
0
gamemonde Messages postés 336 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 9 juillet 2011 2
19 juil. 2006 à 00:54
moi ce que je ferais

while (!port.eof())
{
    port >> chaine // va prendre mot par mot

}

apres tu verfie si dans la chaine il trouve un accent et le modifie
et puisque que tu n'ecriras pas dans ton fichier met que ios::in

chaine.replace(n, 1, (char*)&lettres[1][j]);
par chaine[n] = lettres[1][j]);
0
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
19 juil. 2006 à 10:45
salut,

met le port.close() dans ton if(port), sinon, tu risque de fermer un truc pas ouvert, et ca peyt tout simplement venir de la ton erreur.


Au fait

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.


C'est la douce facon que Windows a de te dire que tu as une segmentation fault !

TuRn3r
0
Rejoignez-nous