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