Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

FreezingEngine

Treue Seele

  • »FreezingEngine« ist der Autor dieses Themas

Beiträge: 280

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

11

10.03.2011, 21:46

hab ich mir gedacht auch schon gelesen grade schnell ne kline demo gemacht, aber verstehe nicht ganz das auslesen, kannst du es mir nochmal erklären villt sogar annem code beispiel oder ähnliches?
"He who sacrifices freedom for security deserves neither."
Benjamin Franklin

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

12

10.03.2011, 22:16

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

int main() {
    string user_data = "foobar";
    
    // speichern
    
    fstream f;
    f.open("highscore.txt", ios::out);
    f << user_data << std::endl;
    f.close();
    
    // holen
    vector<string> highscore;
    
    f.open("highscore.txt", ios::in);
    while (!f.eof()) {
        char line[256];
        f.getline(line, sizeof(line));
        cout << line << endl;
        
        highscore.push_back(line);
    }
    
    cout << highscore[0];
}


quick and dirty aber so in etwa halt.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

FreezingEngine

Treue Seele

  • »FreezingEngine« ist der Autor dieses Themas

Beiträge: 280

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

13

10.03.2011, 22:19

kannse mir das auslesen durchkommentieren?^^ und danke :D
"He who sacrifices freedom for security deserves neither."
Benjamin Franklin

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

14

10.03.2011, 22:22

So schwer? Wirklich? Noch dazu, wo ich auf die passende Doku verlinkt habe?

Naja, hier:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

int main() {
    string user_data = "foobar";
    // speichern
    
    fstream f;
    f.open("highscore.txt", ios::out);
    f << user_data << std::endl;
    f.close();
    
    // holen; in highscore sind alle Benutzerdaten später
    vector<string> highscore;
    
    // öffnen zum lesen
    f.open("highscore.txt", ios::in);
    // solang wie wir nicht am ende der datei angekommen sind
    // -> not (e)nd (o)f (f)ile
    while (!f.eof()) {
        // char mit 256 zeichen reservieren, sollte reichen
        char line[256];
        // die derzeitige zeile der datei auslesne und in line (unserem char array) speichern
        f.getline(line, sizeof(line));
        // ausgabe, nur zu test zwecken
        cout << line << endl;
        // in dne highscore, also in den vector packen
        highscore.push_back(line);
    }
    // datei schließen
    f.close();
    
    // erstes element, obersten highscore kandiaten, ausgeben
    cout << highscore[0];
}
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

FreezingEngine

Treue Seele

  • »FreezingEngine« ist der Autor dieses Themas

Beiträge: 280

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

15

10.03.2011, 22:25

großes dankeschön^^
"He who sacrifices freedom for security deserves neither."
Benjamin Franklin

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

16

10.03.2011, 22:31

Außer dem Namen brauchst du dann halt noch ggf. Punkte etc.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

FreezingEngine

Treue Seele

  • »FreezingEngine« ist der Autor dieses Themas

Beiträge: 280

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

17

11.03.2011, 18:44

wie geht das das man nur 6 buchstabend ran hängen kann an den string?
"He who sacrifices freedom for security deserves neither."
Benjamin Franklin

FreezingEngine

Treue Seele

  • »FreezingEngine« ist der Autor dieses Themas

Beiträge: 280

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

18

11.03.2011, 18:53

also es geht um eine text eingabe diesem fall der name eines spielers der name soll/darf nicht größer als 6buchstaben sein^^
"He who sacrifices freedom for security deserves neither."
Benjamin Franklin

19

11.03.2011, 19:56

Entweder nach 6 Buchstaben aufhören neue Buchstaben dranzuhängen oder eben den String auf 6 Buchstaben trimmen.

Bei sf:: String bekommst du die Größe des Strings mit GetSize() und bei std:: string bekommst du sie mit size(). Außerdem bietet std:: string die Möglichkeit die Länge des Strings zu verändern (also ggf. zu kürzen) mit resize().

Gruß
SaRu_

FreezingEngine

Treue Seele

  • »FreezingEngine« ist der Autor dieses Themas

Beiträge: 280

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

20

12.03.2011, 23:11

ehm hab will ja den wert jez auch in sfml ausgeben
wie schaff ichs den vertor(string) highscore werrt in ein sf string zu übergeben??
"He who sacrifices freedom for security deserves neither."
Benjamin Franklin

Werbeanzeige