Mit D datein schreiben

also ich lerne die Programmiersprache D und will damit datein erstellen
die befehle sin:

[code]
import std.stdio;
void main()
{
file f = New File;
f.open(„test.txt“, FileMode.In | FileMode.Out);
while(!eof())
writefln(f.readLine());
//Listet Dateiinhalt auf
f.writeLine(“Geht Nicht Warum?“);
f.close();

hoffentlich kann mir einer helfen

mfg wixii.de

Hi!

f.open(„test.txt“, FileMode.In | FileMode.Out);

Du öffnest die Datei zum Lesen und Schreiben (vermute ich ohne D-Kenntnisse). Ist das gewollt? Funktioniert es vielleicht ohne das FileMode.Out?

Gruß M.

Ja es geht FileMode.Out ist für schreiben

trotzfem gehts nicht

einen Fehler hab ich gefunden am anfang gehört noch

import std.file;

nützt aber immer noch nix

mfg wixii.de

Hallo!

trotzfem gehts nicht

Was heißt „gehts nicht“?

einen Fehler hab ich gefunden am anfang gehört noch

import std.file;

Ohne das wurde trotzdem kompiliert?

Also, wenn sich der Code kompilieren lässt und zur Laufzeit was nicht funktioniert, dann mach mal das sog. „printf-Debugging“:

void main()
{
file f = New File;
writefln("11111");
f.open("test.txt", FileMode.In | FileMode.Out);
writefln("22222");
while(!eof()) {
 writefln("In der Schleife");
 writefln(f.readLine());
}
writefln("33333");
f.close();
}

So kannst Du sehen wo das Programm überhaupt hinkommt, ob z.B. die while-Schleife abgearbeitet wird. Noch ein Stilhinweis: Bei while und Konsorten auch dann geschweifte Klammern schreiben, wenn nur eine Anweisung folgt.

Gruß M.

Hi!

hoffentlich kann mir einer helfen

Die Info, dass sich das gar nicht erst kompilieren lässt, wäre schon hilfreich gewesen, zumal ja der Compiler (mehr oder weniger) hilfreiche Fehlermeldungen produziert.

Das läuft:

import std.stdio;
import std.stream;

void main()
{
 auto f = new File;
 f.open("foo.d", FileMode.In);
 while(!f.eof()) {
 writefln(f.readLine());
 }
 f.close();
}

Gruß M.