Soyez le premier à donner votre avis sur cette source.
Snippet vu 3 740 fois - Téléchargée 36 fois
/* Interception d'un debordement de buffer lors de la lecture d'un fichier ligne par ligne */ #include <iostream> #include <fstream> #include <string> using namespace std ; #define TAILLE_BUFFER 200 int main( void ) { // 1 caractere en plus pour la fin de ligne, //et un autre pour s'assurrer qu'on a un debordement char ligne[TAILLE_BUFFER + 2]; fstream MonFic ("c:\\temp\\test.txt"); if (! MonFic.is_open()) { cout << "impossible d'ouvrir le fichier" << endl; return 1; } while (! MonFic.eof() ) { MonFic.getline (ligne, TAILLE_BUFFER + 2); int len = strlen(ligne); if ( (len >= 0) && (len <= TAILLE_BUFFER) ) { //c bon on ne depasse pas cout<<"Ligne OK: \n"<< ligne<< endl; } else { //on depasse cout << "Debordement" << endl; return 1; } } return 0; }
donc ce n'est point un oubli
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.