Hallo zusammen,
ich bin noch ein absoluter Neuling im Bereich C++, drum brauch ich Hilfe zum Thema fstream.
Ich arbeite mit MS Windows und VS C++ 6.0.
Habe von einem Kollegen ein Projekt bekommen mit dem man Sachen in einem Trace speichert, das Ganze ist eine Dll. Meine Aufgabe ist es nun, Anstelle des Trace die Sachen in LogFiles zu schreiben. Da ich auf mehreren Kanälen aufzeichnen muss, brauche ich auch mehrere LogFiles. Nun das Problem:
Ich rufe unterschiedliche Funktionen auf die in das LogFile schreiben sollen,
wie kann ich das FileHandle übergeben. Habe mir eine Klasse geschrieben, die sieht so aus:
die Funktionsimplementierung so:
und öffnen tue ich das Ganze so:
Soweit ist das klar.
Nur wie kann ich jetzt in einer anderen Funktion dieses LogFile wieder verwenden?
Kann ja eigentlich nicht so schwer sein Nur ich seh es einfach nicht...
Hoffe ich habe nicht vergessen und es ist einigermaßen verständlich was ich vor habe!?
Danke für die Hilfe
ich bin noch ein absoluter Neuling im Bereich C++, drum brauch ich Hilfe zum Thema fstream.
Ich arbeite mit MS Windows und VS C++ 6.0.
Habe von einem Kollegen ein Projekt bekommen mit dem man Sachen in einem Trace speichert, das Ganze ist eine Dll. Meine Aufgabe ist es nun, Anstelle des Trace die Sachen in LogFiles zu schreiben. Da ich auf mehreren Kanälen aufzeichnen muss, brauche ich auch mehrere LogFiles. Nun das Problem:
Ich rufe unterschiedliche Funktionen auf die in das LogFile schreiben sollen,
wie kann ich das FileHandle übergeben. Habe mir eine Klasse geschrieben, die sieht so aus:
Code:
class fileHandle {
public:
fstream logFile;
long openLogFile(short index, const char *sLogFileName);
long closeLogFile(fstream& logFile);
void writeLogFile(fstream& logFile);
};
Code:
long fileHandle::openLogFile(short index, const char *sLogFileName)
{
fstream logFile(sLogFileName, ios::out | ios::trunc);
logFile.close();
// Neues File oeffnen zum Schreiben
logFile.open(sLogFileName, ios::out);
// Wenn nicht geoeffnet
if(!logFile)
{
printf("Datei konnte nicht geoeffnet werden%s\n\n" ,sLogFileName);
return NOK;
}
logFile << "TESTAUSGABE" << endl;
return OK;
}
void fileHandle::writeLogFile(fstream& logFile)
{
// Testausgabe
printf("...Debug0 writeLogFile. \n\n");
logFile << "Test aus writeLogFile" << endl;
}
und öffnen tue ich das Ganze so:
Code:
DLLEXPORT long configureLogFile(short index, const char *sLogFileName)
{
//...
fileHandle newFile;
newFile.openLogFile(index, sLogFileName);
//...
return OK;
}
Soweit ist das klar.
Nur wie kann ich jetzt in einer anderen Funktion dieses LogFile wieder verwenden?
Kann ja eigentlich nicht so schwer sein Nur ich seh es einfach nicht...
Hoffe ich habe nicht vergessen und es ist einigermaßen verständlich was ich vor habe!?
Danke für die Hilfe