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

spacegaier

Alter Hase

  • »spacegaier« ist der Autor dieses Themas

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

11

11.02.2007, 18:11

Mist. Hätte ich aber auch selber draufkommen können. Nun motz der Compiler erst einmal nicht mehr, aber beim Ausführen gibt es dann einen Fehler.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
static std::vector<std::wstring> Contents;

std::wifstream FileIn("fragen.txt");
            std::wstring buffer;
            if (FileIn)     // Falls FileIn gültig ist. 

            { 
                // Solange kein Fehler auftritt und nicht eof 

                while(FileIn.good())
                {
                    std::getline(FileIn, buffer);
                
                    Contents.push_back(buffer);   // Aktuelle Zeile in den Vektor einfügen 

                } 
            }
            
            SetDlgItemText(hwnd, IDC_FRAGE, Contents.at(2).c_str());


Fehler: [list]Unbehandelte Ausnahme bei 0x7c812a5b in EuropaQuiz.exe: Microsoft C++-Ausnahme: std::out_of_range an Speicherposition 0x0012f6cc..[/list]
Das komische ist auch, dass buffer nie gefüllt wird und dem zu Folge Contents aus mull Elementen ( Contents[0]() )besteht und ich diese daher auch nicht mit SetDlgItemText aufrufen kann (wenn ich SetDlgItemText nämlich auskommentiere geht es nämlich ohne Probleme).

Woran könnte das nun wieder liegen?

Langsam nerven diese Probleme mit getline und Co. echt :evil: ! Macht momentan überhaupt keinen Spaß mehr :( .

12

11.02.2007, 18:25

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
static std::vector<std::wstring> vector_content;

std::wifstream file_input_stream;
std::wstring string_buffer;

file_input_stream.open(L"Fragen.txt", std::ios::in);

if (file_input_stream.is_open() ==false) 
    return false;

while (file_input_stream.good() == true)
{
    std::getline(file_input_stream, string_buffer);
    vector_content.push_back(string_buffer);  
}
file_input_stream.close();

if (vector_content.size() > 2)
    SetDlgItemText(hWnd, IDC_FRAGE, vector_content[2].c_str());
... so zeig mal deine Datei ...
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

spacegaier

Alter Hase

  • »spacegaier« ist der Autor dieses Themas

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

13

11.02.2007, 18:26

Wieviele Mitgleidstaaten hat die EU?
25
27
31
Wieviel Millionen Menschen sind in der Eu vertreten?
493
576
781

14

11.02.2007, 18:39

Zitat

EDIT: Ich glaub du wolltest zuerst prüfen, ob die Datei schon offen ist und dann sie erst öffnen, oder?

Hmm?

C-/C++-Quelltext

1
file_input_stream.open(L"Fragen.txt", std::ios::in);

Öffnet die Datei ... wobei man auch wenn es ein input stream ist noch als Parameter ios::in angeben sollte ...

C-/C++-Quelltext

1
2
if (file_input_stream.is_open() == false)
    return false;

Guckt halt ob die Datei nun geöffnet ist ... wenn nicht gibt er false zurück ...


Und zum Aufbau deiner Datei ... hast du immer eine feste Zahl an Antworten? Weil sonnst kommst de mit deinem momentanen Ansatz nicht sonderlich weit ... Dann wäre XML odg. empfehlenswert ...
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

spacegaier

Alter Hase

  • »spacegaier« ist der Autor dieses Themas

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

15

11.02.2007, 18:43

DANKE. JETZT KLAPPT ES ENDLICH. ICH BIN SO STOLZ AUF EUCH :D :D :D !!!

Werbeanzeige