none
Récupération de données dans un fichier texte RRS feed

  • Question

  • Mon Problème est le suivant:

    J'ai un fichier texte contenant par exemple 70 lignes. Chaque ligne est constituée de 13 nombres entiers séparés par un espace.

    Après avoir ouvert le fichier en lecture ( ligne par ligne ), est -il possible de récupérer les 13 nombres de chaque ligne dans un tableau ?

    Le début de mon code :

    String^ path = "monfichier.txt";
    StreamReader^  fs = File::Open( path, FileMode::Open, FileAccess::Read);
    String^ s = "";
                while ((s = fs->ReadLine()) != null)
                {
                    ??  ici, peut on récupérer les 13 nombres de chaque ligne ?
                }
    fs->Close();

    samedi 26 avril 2014 14:29

Réponses

  • StreamReader^  fs = gcnew StreamReader("monfichier.txt");
    String^ s = "";
    
    while ((s = fs->ReadLine()) != nullptr) 
    {
    	array<Char>^ chars = {' '};
    	array<String^>^ words = s->Split(chars,13,StringSplitOptions::RemoveEmptyEntries);
    	array<Int32^>^ ints = gcnew array<Int32^>(13){};
    
    	for(int i = 0; i< words->Length ;i++)
    	{
    		Int32 tmp;
    		if(Int32::TryParse(words[i],tmp))
    		{
    			ints[i]=tmp;
    		}
    	}
    }
    fs->Close();


    Paul Bacelar, Ex - MVP VC++

    • Proposé comme réponse Aurel Bera lundi 28 avril 2014 07:32
    • Marqué comme réponse tétard lundi 28 avril 2014 18:09
    dimanche 27 avril 2014 18:42
    Modérateur

Toutes les réponses

  • StreamReader^  fs = gcnew StreamReader("monfichier.txt");
    String^ s = "";
    
    while ((s = fs->ReadLine()) != nullptr) 
    {
    	array<Char>^ chars = {' '};
    	array<String^>^ words = s->Split(chars,13,StringSplitOptions::RemoveEmptyEntries);
    	array<Int32^>^ ints = gcnew array<Int32^>(13){};
    
    	for(int i = 0; i< words->Length ;i++)
    	{
    		Int32 tmp;
    		if(Int32::TryParse(words[i],tmp))
    		{
    			ints[i]=tmp;
    		}
    	}
    }
    fs->Close();


    Paul Bacelar, Ex - MVP VC++

    • Proposé comme réponse Aurel Bera lundi 28 avril 2014 07:32
    • Marqué comme réponse tétard lundi 28 avril 2014 18:09
    dimanche 27 avril 2014 18:42
    Modérateur
  • Merci d'avoir répondu si rapidement.

    Le code fonctionne parfaitement et répond bien à mon problème.

    lundi 28 avril 2014 18:09