FBIagent
Erfahrenes Mitglied
Moin,
ich habe folgendes Problem: Code für Dateioperation der einmal funktioniert hat will auf eimal nicht mehr.
Ich benutze den Code eigentlich so wie immer. Compiliert wird auch ganz normal nur
wenn ich das Programm starte und es soll in eine Datei geschrieben werden, wurde die datei zwar erstellt, aber sie hat keinen inhalt...
Folgender Code zum testen:
Ich habe es aber auch schon mit einem ganz simpelem Codeschnipel versucht hatte
allerdings auch dabei kein Erfolg:
Ich hoffe das mir jemand helfen kann.
THX in Advance
MFG FBIagent
ich habe folgendes Problem: Code für Dateioperation der einmal funktioniert hat will auf eimal nicht mehr.
Ich benutze den Code eigentlich so wie immer. Compiliert wird auch ganz normal nur
wenn ich das Programm starte und es soll in eine Datei geschrieben werden, wurde die datei zwar erstellt, aber sie hat keinen inhalt...
Code:
#ifndef MY_FILEIO_H
#define MY_FILEIO_H
#include <iostream>
#include <fstream>
class fileIO
{
private:
std::ofstream ofstreamFile;
std::string fileName;
public:
fileIO(std::string);
std::ifstream ifstreamFile;
bool openIf();
bool openOf();
void write(std::string);
void closeIf();
void closeOf();
};
#endif
--------------------------------------------------------------------------------
#include ".\fileIO.h"
fileIO::fileIO(std::string data)
{
fileName = data;
}
bool fileIO::openIf()
{
ifstreamFile.open(fileName.c_str());
if (!ifstreamFile.is_open())
return false;
return true;
}
bool fileIO::openOf()
{
ofstreamFile.open(fileName.c_str());
if (!ofstreamFile.is_open())
return false;
return true;
}
void fileIO::write(std::string data)
{
ofstreamFile << data;
// ofstreamFile.flush();
}
void fileIO::closeIf()
{
ifstreamFile.close();
}
Folgender Code zum testen:
Code:
int productions = shopEntriesProductions.size();
fileIO streamMulti("multisell.xml");
if (!streamMulti.openOf())
{
wxMessageBox("Could not create file.", "Build Multisell", wxOK | wxICON_ERROR, this);
return;
}
streamMulti.write("<?xml version='1.0' encoding='utf-8'?>\n\n\n<list>\n\n");
for (int i=0;i<productions;i++)
{
int needed = shopEntriesCosts[i].size();
streamMulti.write(" <item id=\"");
streamMulti.write(extraStr.intToStr(i));
streamMulti.write("\"\n");
streamMulti.write(" <production id=\"");
streamMulti.write(extraStr.intToStr(shopEntriesProductions[i]));
streamMulti.write("\" count=\"1\" enchant=\"0\"/>\n");
for (int j=0;j<needed;j++)
{
streamMulti.write(" <ingredient id=\"");
streamMulti.write(extraStr.intToStr(shopEntriesCosts[i][j]));
streamMulti.write("\" count=\"1\" enchant=\"0\"/>\n");
}
streamMulti.write(" </item>\n");
}
streamMulti.write("\n</list>");
streamMulti.closeOf();
wxMessageBox("Build Multisell Successfull.", "Build Multisell", wxOK | wxICON_INFORMATION, this);
freeUp();
Ich habe es aber auch schon mit einem ganz simpelem Codeschnipel versucht hatte
allerdings auch dabei kein Erfolg:
Code:
fileIO testStream("texst.txt");
testStream.openOf();
testStream.write("Test");
testStream.closeOf();
Ich hoffe das mir jemand helfen kann.
THX in Advance
MFG FBIagent