2010-08-20 103 views
3

我試圖遵循一個簡單的教程,並不能得到下面的代碼工作:文件I/O在d編程語言

void main(string args[]) 
{ 
    auto f = File("test.txt", "w"); 
    f.writeln("Hello, Worlds!"); 
} 

我在Windows上使用DMD編譯器。

+0

d版本1或2? – kennytm 2010-08-20 07:22:47

+2

爲什麼不呢? 程序崩潰了嗎?程序是否僅僅不正常工作? 編譯失敗嗎?編譯器*崩潰*?你知道編譯器安裝正確嗎?你使用的是什麼版本的語言? – 2010-08-20 07:25:37

+0

編譯失敗。我想,我正在使用D2。編譯錯誤是: (5):錯誤:未識別的標識符文件 (5):錯誤:函數預期before(),而不是_error_類型_error_ (6):錯誤:函數預期before(),而不是__error類型TOK149 – lowerkey 2010-08-20 16:57:04

回答

18

如果使用的是D2,則需要import std.stdio;

import std.stdio; 
void main(string args[]) 
{ 
    auto f = File("test.txt", "w"); 
    f.writeln("Hello, Worlds!"); 
} 

如果使用D1時,File類是std.stream和API略有不同:

import std.stream; 
void main() { 
    auto f = new File("test.txt", FileMode.Out); 
    f.writeLine("Hello, Worlds!"); 
}