Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Int auslesen

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
10.03.2005, 20:13 Uhr
~speedy1982
Gast


Hallo zusammen

wenn ich aus einer File in C Standart eine int auslesen will machen ich das so:

C++:
int buf;
fread(buf, sizeof(int),1, fd);



nur wie mache ich das mit c++ Ströme?


C++:
int iTemp;
f.read(iTemp, sizeof(int));



geht leider nicht bin am verzweifeln.

Gruß speedy
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.03.2005, 20:27 Uhr
~RoaN
Gast


Mit ifstream's.
Etwa so:

C++:
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    char path[] = "test.txt";
    ifstream ins (path);
    int i;
    ins >> i;
    cout << i;
    return 0;
}



MfG RoaN;
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.03.2005, 20:34 Uhr
Pablo
Supertux
(Operator)



Zitat von ~speedy1982:
Hallo zusammen

wenn ich aus einer File in C Standart eine int auslesen will machen ich das so:

C++:
int buf;
fread(buf, sizeof(int),1, fd);



_



wie willst du 4 Bytes aus einem 1 Byte Block lesen? Schätze das geht nicht.
Außerdem soll buf ein Zeiger sein, denn wie sonst soll der Inhalt verändert werden? ...


C++:
int buf;
fread(&buf, 1, sizeof(int), fd);



Aber was für n Sinn macht, ein Byte von sizeof(int) Bytes zu lesen?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 10.03.2005 um 20:38 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.03.2005, 20:38 Uhr
~RoaN
Gast


Wenn er mit Streams und dem schönen <<>> Operator arbeiten will ist meine Lösung deutlich interessanter.
@Pablo: Und wo in aller Welt hast du meinen Thread hingeschoben???

MfG RoaN
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.03.2005, 20:39 Uhr
Pablo
Supertux
(Operator)



Zitat von ~RoaN:

@Pablo: Und wo in aller Welt hast du meinen Thread hingeschoben???



Klick mal drauf und dann kannst du deinen Thread öffnen. Ich hab ihn ins OT verschoben.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.03.2005, 20:41 Uhr
Frodenius



nu jo,
wie du schon erwähntest ist der datezugriff in c++ mit streams realisiert.
da muss erst mal ein solches stream-obkjekt her (natürlich eins für dateien), für den input wäre das ifstream. dafür muss der header fstream eingebunden sein (#include <fstream>. dann kann man diesen stream wie jeden anderen behandeln. in diesem e-book gibts darüber ein extra kapitel (http://www.fun-soft.de/Download/ebooks/c++in21tagen/inhalt.html),
das mit dem int einlesen könnte so aussehen:

C++:
int iNumber;
ifstream fin; // DER STREAM
fin.open("datei.txt"); // datei öffnen
fin >> iNumber; // einlesen
fin.close();


--
NI! ...and thanks for all the fish!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.03.2005, 20:43 Uhr
Frodenius



da warn wohl andere schneller....
--
NI! ...and thanks for all the fish!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
10.03.2005, 20:44 Uhr
~RoaN
Gast


Das Buch ist von Markt und Technik und sollte eigendlich was kosten!

MfG RoaN;
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
11.03.2005, 00:51 Uhr
~speedy1982
Gast


Danke euch allen, hat super geklappt.

@Pablo
Stimmt da gebe ich dir recht

Gruß
speedy
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
11.03.2005, 08:43 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von Pablo:

wie willst du 4 Bytes aus einem 1 Byte Block lesen? Schätze das geht nicht.
Außerdem soll buf ein Zeiger sein, denn wie sonst soll der Inhalt verändert werden? ...


C++:
int buf;
fread(&buf, 1, sizeof(int), fd);



Aber was für n Sinn macht, ein Byte von sizeof(int) Bytes zu lesen?


fread arbeitet doch so das es:

"Lese $count Blöcke der Größe $size" Also sollte das obige funktionieren (bei mir geht das jedenfalls)
--
class God : public ChuckNorris { };

Dieser Post wurde am 11.03.2005 um 13:03 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


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: