johnASP
Messages postés42Date d'inscriptionmardi 19 avril 2011StatutMembreDernière intervention24 juin 2011
-
6 juin 2011 à 09:25
johnASP
Messages postés42Date d'inscriptionmardi 19 avril 2011StatutMembreDernière intervention24 juin 2011
-
9 juin 2011 à 12:10
Bonjour à tous!
J'ai besoin d'un programme pour compter le nombre de ligne qu'il y a dans un fichier txt pour pouvoir traiter ensuite les informations qui y sont contenu jusqu'à la fin de mon fichier.
J'ai trouvé se petit morceau de programme mais quand je le compile il me donne des erreurs que je n'arrive pas à résoudre.
ifstream file(chemin);
// compter le nombre de lignes
int count = 0;
String^ line;
while ( getline( file, line ) )
{
++count;
}
ERREURS :
1>.\database.cpp(48) : error C2065: 'ifstream' : identificateur non déclaré
1>.\database.cpp(48) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'file'
1>.\database.cpp(48) : error C3861: 'file' : identificateur introuvable
1>.\database.cpp(53) : error C3861: 'getline' : identificateur introuvable
johnASP
Messages postés42Date d'inscriptionmardi 19 avril 2011StatutMembreDernière intervention24 juin 20111 6 juin 2011 à 12:08
J'ai essayé aussi mais sa me donne les erreurs suivantes :
1>.\database.cpp(51) : error C2664: 'std::basic_ifstream<_Elem,_Traits>::basic_ifstream(const char *,std::ios_base::openmode,int)' : impossible de convertir le paramètre 1 de 'System::String ^' en 'const char *'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> Aucun opérateur de conversion défini par l'utilisateur disponible, ou
1> Impossible de convertir un type managé en type non managé
1>.\database.cpp(56) : error C3861: 'getline' : identificateur introuvable
Vous n’avez pas trouvé la réponse que vous recherchez ?
A toi de trouver la conversion pour du C++ managé.
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
johnASP
Messages postés42Date d'inscriptionmardi 19 avril 2011StatutMembreDernière intervention24 juin 20111 7 juin 2011 à 12:06
Bonjour tous le monde!
Pouvez-vous me dire et m'expliquer ce qu'il ne va pas dans mon programme ci-dessous parce que la je vais partir en dépression...Je ne vois vraiment pas se qu'il y a..
ifstream in("essai.txt"); //Ouverture en mode lecture de "bdd.txt"
int nbLignes;
char ligne_char;
std::string ligne_string;
std::string ligne; //Création d'une chaine de caractere
nbLignes = 0;
while(std::getline(in, ligne)) //On lit chaque ligne du fichier que l'on stoke dans "ligne"
nbLignes++;
ligne_char = Convert::ToChar(nbLignes); //conversion int/char
ligne_string = Convert::ToString(ligne_char); //conversion char/string
textBox3->Text = nbLignes;
in.close(); //On ferme le fichier
Et ça me donne encor 2 erreurs..:
error C2679: '=' binaire : aucun opérateur trouvé qui accepte un opérande de partie droite de type 'System::String ^' (ou il n'existe pas de conversion acceptable)
error C2664: 'void System::Windows::Forms::Control::Text::set(System::String ^)' : impossible de convertir le paramètre 1 de 'int' en 'System::String ^'
johnASP
Messages postés42Date d'inscriptionmardi 19 avril 2011StatutMembreDernière intervention24 juin 20111 9 juin 2011 à 11:03
Bonjour,
C'est bon, j'ai enfin trouvé! Voici mon code si sa pe aider..
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e)
{
ifstream in("C:\\Documents and Settings\\jwarzycka\\Bureau\\Database\\GBA15_25_AGCOv0.1.dbc"); //Ouverture en mode lecture de "bdd.txt"
int nbLignes;
std::string ligne; //Création d'une chaine de caractere
nbLignes = 0; //Initialisation de la variable à 0
if (! in) //Si fichier inexsistant faire....
{
textBox3->Text = ("Erreur d'ouverture du fichier");
}
else
{
while(std::getline(in, ligne)) //On lit chaque ligne du fichier que l'on stoke dans "ligne"
nbLignes++;
textBox3->Text = nbLignes.ToString();
in.close(); //On ferme le fichier
}
}
C'est fou le temps que l'on peut perdre pour des conneries...
Merci à tous!!!