2010-09-16 15 views
7

मैं बस डी सीख रहा हूं। एक महान भाषा की तरह दिखता है, लेकिन मुझे फ़ाइल I/O फ़ंक्शंस के बारे में कोई जानकारी नहीं मिल रही है। मैं मंद हो सकता हूं (मैं उस पर अच्छा हूं!), तो क्या कोई मुझे सही दिशा में इंगित कर सकता है, कृपया? धन्यवादडी फ़ाइल I/O फ़ंक्शन

+1

@ केनी: "बस सीखना" वर्तमान में मेरे लिए "नई परियोजनाओं के लिए अनुशंसित" संस्करण का अर्थ होगा, यानी, 2। – Joey

उत्तर

10

असल में, आप से 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(); 
} 
3
फ़ाइलों के लिए विशेष रूप से संबंधित सामान के लिए

(फ़ाइल गुण, पढ़ने/एक ही बार में एक फ़ाइल लेखन), std.file में लग रहे हो। मानक धाराओं (stdin, stdout, stderr) को सामान्यीकृत करने वाली सामग्री के लिए std.stdio देखें। आप भौतिक डिस्क फ़ाइलों और मानक धाराओं दोनों के लिए std.stdio.File का उपयोग कर सकते हैं। std.stream का उपयोग न करें, क्योंकि यह बहिष्करण के लिए निर्धारित है और श्रेणियों (डी के समकक्षों के बराबर) के साथ काम नहीं करता है।

0

व्यक्तिगत रूप से मुझे सी-शैली फ़ाइल I/O अनुकूल लगता है। मुझे यह I/O का उपयोग करने के लिए सबसे स्पष्ट में से एक है, खासकर यदि आप बाइनरी फ़ाइलों के साथ काम करते हैं। यहां तक ​​कि सी ++ में भी मैं धाराओं का उपयोग नहीं करता, अतिरिक्त सुरक्षा के बगल में यह सिर्फ सादा बेकार है (जितना मैं धाराओं पर प्रिंटफ पसंद करता हूं, उत्कृष्ट कैसे डी को एक प्रकार-सुरक्षित प्रिंटफ है!)।

संबंधित मुद्दे