在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
答案 0 :(得分:4)
D有很多方法可以从文件中读取数据,以方便各种用例。以下是一些:
根据您的具体情况,您可能希望使用slurp或readf。您的另一个选择是读取行并将它们拆分为您想要的字段,然后使用std.conv.to来解析文本表示:
double d = to!double(somestring);
总之,如果每一行都有相同的格式,那么slurp是最好的方法。否则,你必须决定什么对你来说最方便。