读取文本文件数据

时间:2012-06-18 06:22:43

标签: d

在C ++中,istream& operator>>可用于“按文本”读取数据。 D中的等价物是什么?

我的尝试:

input.txt中

c 1033
90.432

input_test.d

import std.stdio;
import std.stream;

void main()
{
    auto inputFile = new BufferedFile("input.txt");
    char c;
    int i;
    double d;

    inputFile.read(c);
    inputFile.read(i);
    inputFile.read(d);
    writeln(c, '\t', i, '\t', d);
}

输出

c   858796320   4.90559e-62

1 个答案:

答案 0 :(得分:4)

D有很多方法可以从文件中读取数据,以方便各种用例。以下是一些:

根据您的具体情况,您可能希望使用slurpreadf。您的另一个选择是读取行并将它们拆分为您想要的字段,然后使用std.conv.to来解析文本表示:

double d = to!double(somestring);

总之,如果每一行都有相同的格式,那么slurp是最好的方法。否则,你必须决定什么对你来说最方便。