在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C++/ D語言文件I/O
類的訪問修飾符
D語言運(yùn)算符
D語言邏輯運(yùn)算符
類指針
D語言元組
D語言指針
D語言模塊
D語言sizeof運(yùn)算符
D語言混合類型
D語言封裝
D語言條件編譯
類的靜態(tài)成員
D語言do...while循環(huán)
D語言結(jié)構(gòu)體
重載
D語言字符串-String
D語言決策語句
D語言接口
D語言for循環(huán)
D語言switch語句
D語言關(guān)聯(lián)數(shù)組
D語言范圍
D語言枚舉Enums
契約式編程
D語言并發(fā)
D語言開發(fā)環(huán)境設(shè)置
D語言別名
D語言常值
D語言常量
D語言函數(shù)
D語言if嵌套語句
D語言循環(huán)
D語言概述,D語言是什么?
D語言運(yùn)算符優(yōu)先級
D語言continue語句
D語言異常處理
D語言break語句
D語言if...else語句
D語言類和對象
類繼承
D語言字符
D語言教程
D語言關(guān)系運(yùn)算符
比較操作符重載
構(gòu)造函數(shù)和析構(gòu)函數(shù)
D語言抽象類
D語言if語句
D語言賦值運(yùn)算符
D中算術(shù)運(yùn)算符
D語言類成員函數(shù)
D語言位運(yùn)算符
D語言變量
D語言數(shù)據(jù)類型
D語言文件I/O
D語言數(shù)組
一元運(yùn)算符重載
D語言嵌套switch語句
D語言基本語法
二元運(yùn)算符重載
this指針
D語言聯(lián)合體
D語言模板
D語言嵌套循環(huán)
D語言while循環(huán)

D語言文件I/O

文件是由std.stdio模塊的文件結(jié)構(gòu)來表示。

一個文件代表一個字節(jié)序列,不要緊,如果它是一個文本文件或二進(jìn)制文件。 D編程語言提供了高級功能的訪問,以及較低的水平(操作系統(tǒng)級別)調(diào)用來處理存儲設(shè)備的文件。

打開文件

標(biāo)準(zhǔn)輸入和輸出流stdin和stdout已經(jīng)打開,當(dāng)程序開始運(yùn)行。他們已經(jīng)準(zhǔn)備好可以使用。另一方面,文件必須首先通過指定該文件的名稱以及所需的訪問權(quán)限打開。

File file = File(filepath, "mode");

在這里,文件名是字符串文字,用它來命名文件和訪問模式可以有下列值之一:

Mode 描述
r 打開讀取目的,現(xiàn)有的文本文件。
w 打開寫,如果它不存在,則創(chuàng)建一個新的文件的文本文件。在這里,程序?qū)㈤_始從文件的開頭寫的內(nèi)容。
a 打開寫在追加模式,如果它不存在,則創(chuàng)建一個新的文件的文本文件。在這里,程序?qū)痈郊釉诂F(xiàn)有文件內(nèi)容的內(nèi)容。
r+ 打開用于讀取和寫入文本文件。
w+ 打開用于讀取和寫入兩個文本文件。它首先截?cái)嘣撐募L度為零(如果存在),否則創(chuàng)建的文件,如果它不存在。
a+ 打開用于讀取和寫入兩個文本文件。如果它不存在,創(chuàng)建該文件。該讀數(shù)將從頭開始寫,但只能??追加。

關(guān)閉一個文件

要關(guān)閉一個文件,請使用file.close()函數(shù)所在文件存放文件的參考。這個函數(shù)的原型為:

file.close();

當(dāng)程序使用完該文件已經(jīng)打開一個程序的任何文件都必須關(guān)閉。在大多數(shù)情況下,文件不需要被明確地關(guān)閉;它們會自動關(guān)閉,當(dāng)文件對象會自動終止。

寫入文件

file.writeln是用來寫一個打開的文件。

file.writeln("hello");
import std.stdio;
import std.file;

void main()
{
   File file = File("test.txt", "w");

   file.writeln("hello");

   file.close();
}

當(dāng)上面的代碼被編譯并執(zhí)行,它會在它已開始下(在程序的工作目錄)目錄中的新文件test.txt。

讀取文件

下面是一個簡單的方法來從文件中讀取一行:

string s = file.readln();

讀取和寫入一個完整的示例如下所示。

import std.stdio;
import std.file;

void main()
{
   File file = File("test.txt", "w");

   file.writeln("hello");

   file.close();

   file = File("test.txt", "r");

   string s = file.readln();
   writeln(s);

   file.close();
}

當(dāng)上面的代碼被編譯并執(zhí)行,它在讀取上一節(jié)中創(chuàng)建的文件,并產(chǎn)生以下結(jié)果:

hello

這里是另一個例子,用于讀取文件,直到文件結(jié)束。


import std.stdio;
import std.string;

void main()
{
   File file = File("test.txt", "w");

   file.writeln("hello");
   file.writeln("world");

   file.close();

   file = File("test.txt", "r");
   
   while (!file.eof()) 
   {
      string line = chomp(file.readln());
      writeln("line -", line);
   }

}

當(dāng)上面的代碼被編譯并執(zhí)行,它在讀取上一節(jié)中創(chuàng)建的文件,并產(chǎn)生以下結(jié)果:

line -hello
line -world
line -

可以在上面的例子中看到一個空的第三行,因?yàn)橐坏┧粓?zhí)行writeln需要到下一行。