Runtime ?!

Signaler
Messages postés
15
Date d'inscription
dimanche 3 octobre 2004
Statut
Membre
Dernière intervention
19 juillet 2006
-
Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
-
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

Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
10
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..."
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Mais non, c'est l'annonce courante depuis le CRT.

ciao...
BruNews, MVP VC++
Messages postés
338
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
9 juillet 2011
2
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]);
Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
1
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