2010-09-16 34 views
7

Tôi chỉ đang học D. Trông giống như một ngôn ngữ tuyệt vời, nhưng tôi không thể tìm thấy bất kỳ thông tin nào về các chức năng I/O của tệp. Tôi có thể bị mờ (tôi giỏi ở đó!), Vì vậy ai đó có thể chỉ cho tôi đúng hướng, làm ơn? Cảm ơnD tập tin I/O chức năng

+1

@Kenny: "Chỉ cần tìm hiểu" sẽ ngụ ý phiên bản hiện được "đề xuất cho dự án mới" cho tôi, tức là, 2. – Joey

Trả lời

10

Về cơ bản, bạn sử dụng the File structure từ std.stdio.

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

Đối với công cụ cụ thể liên quan đến các tập tin (file thuộc tính, đọc/viết một tập tin trong một đi), nhìn vào std.file. Đối với những thứ tổng quát hóa các luồng chuẩn (stdin, stdout, stderr), hãy xem trong std.stdio. Bạn có thể sử dụng std.stdio.File cho cả tệp đĩa vật lý và luồng chuẩn. Không sử dụng std.stream, vì điều này được lên lịch để ngừng sử dụng và không hoạt động với phạm vi (D tương đương với trình lặp).

0

Cá nhân tôi tìm thấy tệp I/O kiểu C thuận lợi. Tôi tìm thấy nó một trong những rõ ràng nhất để sử dụng I/O, đặc biệt là nếu bạn làm việc với các tập tin nhị phân. Ngay cả trong C + + tôi không sử dụng dòng, bên cạnh an toàn thêm nó chỉ đơn giản vụng về (nhiều như tôi thích printf trên suối, tuyệt vời như thế nào D có một printf loại an toàn!).

Các vấn đề liên quan