D文件I / O功能

时间:2010-09-16 14:22:52

标签: file io d

我刚刚学习D.看起来像一个很棒的语言,但我找不到任何有关文件I / O功能的信息。我可能很朦胧(我很擅长那个!),那么有人能指出我正确的方向吗? 感谢

4 个答案:

答案 0 :(得分:10)

基本上,您使用std.stdio中的the File structure

import std.stdio;

void writeTest() {
    auto f = File("1.txt", "w");        // create a file for writing,
    scope(exit) f.close();              //   and close the file when we're done.
                                        //   (optional)
    f.writeln("foo");                   // write 2 lines of text to it.
    f.writeln("bar");
}

void readTest() {
    auto f = File("1.txt");             // open file for reading,
    scope(exit) f.close();              //   and close the file when we're done.
                                        //   (optional)
    foreach (str; f.byLine)             // read every line in the file,
      writeln(":: ", str);              //   and print it out.
}

void main() {
   writeTest();
   readTest();
}

答案 1 :(得分:3)

std.stdio模块怎么样?

答案 2 :(得分:3)

对于专门与文件相关的内容(文件属性,一次读/写文件),请查看std.file。对于推广到标准流(stdin,stdout,stderr)的东西,请查看std.stdio。您可以将std.stdio.File用于物理磁盘文件和标准流。不要使用std.stream,因为这是计划弃用的,不适用于范围(D等效于迭代器)。

答案 3 :(得分:0)

我个人认为C风格的文件I / O是有利的。我发现它是最明确的使用I / O之一,特别是如果你使用二进制文件。即使在C ++中,我也不使用流,除了增加安全性之外,它只是简单的笨拙(就像我更喜欢printf而不是流,很好的D有一个类型安全的printf!)。