Ich versuch mal mein Glück
char dayWhenFileWasLastWritten[80];
if (strftime(dayWhenFileWasLastWritten,80,"%d",localtime (&rawtime)) != dayWhenFileWasLastWritten) { ...
// >>> v265_j.cc:215: error: ISO C++ forbids comparison between pointer and integer
- in dayWhenFileWasLastWritten wird der aktuelle Tag geschrieben (heute 28)
- der Rückgabewert von strftime ist die Länge des Strings (2 Zeichen)
- nun wird 2 (typ size_t oder unsigned integer) mit dayWhenFileWasLastWritten (typ char*) verglichen, das geht natürlich nicht.
- eventuell hilft hier die Funktion atoi(...)
- Außerdem brauchst du den Rückgabetyp von strftime wohl eh nicht
if (rawfile != null && rawfile.is_open()) {
// >>> v265_j.cc:219: error: `null' undeclared (first use this function)
- null klein geschrieben gibts net. Muss NULL oder 0 sein.
if (rawfile != null && rawfile.is_open()) {
rawfile.close();
}
/*
v265_j.cc:219: error: (Each undeclared identifier is reported only once for
each function it appears in.)
v265_j.cc:219: error: request for member `is_open' in `rawfile', which is of
non-aggregate type `std::ofstream ()()'
v265_j.cc:220: error: request for member `close' in `rawfile', which is of
non-aggregate type `std::ofstream ()()'
*/
- rawfile wird erst in Zeile 15 definiert, kann also vorher noch nicht existieren
ofstream rawfile("rawfile" + strftime(dayWhenFileWasLastWritten,80,"%Y-%m-%d",localtime (&rawtime)) + ".dat");
// v265_j.cc:222: error: invalid operands of types `const char*' and `const char[5]' to binary `operator+'
- strftime,wie oben schon genannt, liefert ein size_t zurück. Der Rest ist ein string. für + gibts hier keine Überladung. Außerdem macht es keinen Sinn, die Länge des gelieferten Tages im Dateinamen zu hinterlegen.
Die ideale Referenz für die Probleme:
http://www.cplusplus.com/reference/clibrary/ctime/strftime/
http://www.cplusplus.com/reference/iostream/ofstream/
Außerdem:
- man sollte seinen Code nicht jedem anvertrauen
- die Variable dayWhenFileWasLastWritten wird nicht reichen. du solltest noch eine currentDay einführen, die du dann mit dayWhenFileWasLastWritten vergleichst.