Ich schreibe hier ein kleines Programm in Klarschrift.
Was ich brauche, ist eine Datei direkt im Speicher zu erstellen (nicht auf Festplatte geschrieben)
Momentan kann ich fopen("filename.txt,"wb")
verwenden, um in die Datei zu schreiben.
Ich weiß, dass Sie in Linux fmemopen()
verwenden können. Gibt es eine ähnliche Lösung für win32?
Ich würde nicht fopen verwenden, da dies eine Datei erstellt.
Um die Datei im Speicher zu erstellen, müssen Sie die Datei erstellen und auf eine Weise speichern, die Sie für richtig halten.
Sie müssen ein Array eines Datentyps erstellen. Ich würde char * verwenden, aber Sie könnten verwenden, was auch immer Sie wollen, um die Imformation zu kodieren. Sie können dann in die Datei lesen und schreiben, indem Sie Informationen zum Array hinzufügen.
Diese Funktionalität wird in Windows nicht wirklich unterstützt. Allerdings könnten Sie die high-level stdio-Funktionen neu schreiben, um auf einen Speicherpuffer anstatt auf eine Datei zuzugreifen, oder einfach stdio-ähnliche Funktionen implementieren. Oder Sie könnten eine RAM-Disk implementieren, jedoch könnte die Installation des RAM-Disk-Treibers selbst nicht ausreichen Ihre Regel "Schreibe nicht auf die Festplatte".