Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Daten aus Datei in Array speichern

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
06.11.2007, 21:34 Uhr
~Five
Gast


hallo leute,

ich hab folgendes problem: wie kann ich aus einer txt datei die folgendermaßen aussehen könnte..


Code:
12.22
41.12
56.05
79.37
9.72
..usw..



die daten (also fließkommazahlen) auslesen und in einzelnen array feldern speichern.. ?

kann mir da bitte jemand helfen? sorry bin newbie und hab auch nichts in der artiges in der board-suche gefunden.

thx
Alex
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.11.2007, 22:00 Uhr
~NERO-5
Gast


..
so zum beispiel..

Code:
#include<stdio.h>
void main (void)
{
    int i;
    int a[11];
    FILE *datei;
    if ( (datei = fopen("test000.txt", "r")) != NULL)
    {
        for (i=0; i<=4; i++)
        {
            fscanf (datei, "%d", &a[i]);
            printf ("%d\n", a[i]);
        }
        fclose (datei);
    }else printf("Fehler beim Lesen der Datei!");
    printf ("\n\n");
}



zusätzlich könnte man den rückgabewert von 'fscanf' prüfen.
ist der 0 oder EOF, dann springste aus der schleife raus...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
06.11.2007, 22:28 Uhr
xXx
Devil


ehm ganz einfach:

C++:
std::vector<double> data;
std::ifstream file_stream("data.txt");
std::copy(std::istream_iterator<double>(file_stream), std::istream_iterator<double>(), std::back_inserter(data));
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
06.11.2007, 23:38 Uhr
~BuddyLove
Gast


Das beantwortet nicht die Frage!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
06.11.2007, 23:44 Uhr
öni




Zitat von ~BuddyLove:
Das beantwortet nicht die Frage!


Dumme Frage:
Beantwortest du mit deinen Posts immer die Fragen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
06.11.2007, 23:53 Uhr
~BuddyLove
Gast


Aus dem Handgelenk eher sowas...
Griffbereit habe ich 'auf die Schnelle' leider nix gefunden da ich mich momentan in einer anderen Ecke der Programmierung aufhalte...




C++:
// example for CObArray::SetAt

   CObArray array;
   CObject* pa;

   array.Add( new CAge( 21 ) ); // Element 0
   array.Add( new CAge( 40 ) ); // Element 1
   if( ( pa = array.GetAt( 0 ) ) != NULL )
   {
       array.SetAt( 0, new CAge( 30 ) );  // Replace element 0.
       delete pa; // Delete the original element at 0.
   }
#ifdef _DEBUG
   afxDump.SetDepth( 1 );
   afxDump << "SetAt example: " << &array << "\n";
#endif


Dieser Post wurde am 07.11.2007 um 08:40 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
07.11.2007, 06:43 Uhr
~BuddyLove
Gast


Bescheuerte Antwort:

besser als du dem Anschein nach aber wir können auch gerne TED entscheiden lassen...

Da steht doch ganz klar das der Typ was in Felder in nem Array packen will und man kommt dann mit nen Stream. Weiß nicht....
Is mir auch letztendlich lego, also...
Wenn du jetzt wirklich ne fertige Lösung haben willst und unbedingt drauf angewiesen bist muß du dir dein weißes Hasenkostum anziehen und bitte bitte sagen dann mach ich dir das mal bis moin Oabend fertig Magger...














Dumme Menschen muß man in Ihrem dummen Glauben lassen damit sie einem nicht gefährlich werden können!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
07.11.2007, 06:49 Uhr
~BuddyLove
Gast


Gerne auch mit wahlfreiem Zugriff...
Oabbär schon lieb bidde bidde sajen....

:-)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
07.11.2007, 10:32 Uhr
stephanw
localhorst


Die Antwort von xXx nur um Details wie includes und eine Testausgabe erweitert:


C++:
#include <algorithm>
#include <iostream>
#include <iterator>
#include <fstream>
#include <vector>

int main()
{
  std::vector<double> data;
  std::ifstream file_stream("data.txt");
  std::copy(
    std::istream_iterator<double>(file_stream),
    std::istream_iterator<double>(),
    std::back_inserter(data)
  );

  for (int i=0; i<data.size(); ++i)
  {
    std::cout << "data[" << i << "] == " << data[i] << std::endl;
  }
}



@BuddyLove:
1.) Kann und sollte man sich auch freundlicher ausrücken.
2.) Löst die Antwort von xXx das Problem des Fragestellers sehr präzise. Zumindest verstehe ich seine Frage genauso.
--
Reden ist Schweigen und Silber ist Gold.

Dieser Post wurde am 07.11.2007 um 10:33 Uhr von stephanw editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
07.11.2007, 14:44 Uhr
xXx
Devil


Ehm @BuddyLove:
1. In der WinAPI gibt es kein CObArray, CObject, CAge, afxDump usw.
2. Evtl. solltest du nicht so vorlaut sein. Wenn du keine Ahnung von Iteratoren usw. hast, ist das dein Problem. Die Lösung von mir ist dennoch vollkommen korrekt und mit die kürzeste Möglichkeit sowas zu lösen :P
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: