Hallo,
ich versuche mich gerade an Übungsaufgabe 2 aus dem Kapitel 2.2.8, jedoch bin ich frustriert da die tbVFile->Init() Methode immer wieder fehlschlägt und ich den Fehler nicht finden kann. Die Datei die ich öffnen möchte habe ich im Verlauf meiner Fehlersuche bereits in alle Unterverzeichnisse des Projektordners und in den Projektordner selbst gelegt. Falls das auch noch wichtig sein sollte: Ich arbeite mit Microsoft Visual C++ 2010 Express.
Quellcode:
|
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
|
// 3D-Spieleprogrammierung mit DirectX und C++
// 2. Kapitel
// 2. Aufgabe
// ReadFile.cpp: Liest eine Datei "Eingabe.txt" aus, transformiert die erhaltenen Vektoren mit der erhaltenen Matrix und schreibt diese in eine Datei "Ausgabe.txt"
//
#include <TriBase.h>
int main ()
{
tbInit();
// Variablen
char sBuffer [24]; // Puffer mit 24 Bytes Platz
void* pBuffer = reinterpret_cast<void*>(sBuffer); // Zeiger auf den Buffer
tbVFile* pVFile = new tbVFile;
// Öffnen und einlesen der Datei
if(pVFile->Init("Eingabe.txt"))
{
tbWriteToLog("Fehler beim Einlesen der Datei");
}
else
{
tbWriteToLog("Datei erfolgreich eingelesen");
}
tbExit();
}
|
Das ist der auf die wichtigsten Dinge herunterreduzierte Code, der Fehler tritt beim Einlesen der Datei (also in Zeile 19) auf. Auch das Logfile hat nicht wirklich Aufschluss gegeben:
INFO: TriBase-Engine wird initialisiert... (tribase.cpp, Zeile 86, Funktion tbInit)
INFO: Initialisierung komplett! (tribase.cpp, Zeile 104, Funktion tbInit)
FEHLER: Die Datei eingabe.txt konnte nicht geöffnet, gelesen, erstellt oder beschrieben werden! (tbfile.cpp, Zeile 465, Funktion tbReadRawFile)
FEHLER: Die Datei eingabe.txt konnte nicht geöffnet, gelesen, erstellt oder beschrieben werden! (tbvfile.cpp, Zeile 41, Funktion tbVFile::Init)
Fehler beim Einlesen der Datei
INFO: TriBase-Engine wird heruntergefahren... (tribase.cpp, Zeile 113, Funktion tbExit)
INFO: Alle Speicherbereiche freigegeben! (tbmemory.cpp, Zeile 116, Funktion tbMemExit)
INFO: Herunterfahren abgeschlossen! (tribase.cpp, Zeile 149, Funktion tbExit)
Allerdings ist mir beim Absuchen der untergeordneten Header aufgefallen, dass die Funktion tbReadRawFile, welche den Fehler mindestens mitverursacht, nicht nur einen char* erwartet sondern auch einen void**, jedoch sagt mir letzteres nichts.
Ich bin für jede Hilfe schon im Voraus sehr dankbar,
MfG Freek