實驗十 檔案讀寫byHNU資訊院2020小畢

2021-10-13 07:39:44 字數 1869 閱讀 9250

實驗十 檔案讀寫

程式設計題1. 檔案排版(文字檔案讀寫)

【問題描述】

英文電影中參演人員名單一般以某種方式進行排版顯示。給定乙個未排版的檔案listin.txt,該檔案中每行參演人員名單由冒號ldquo:rdquo分隔成前後兩部分,但格式雜亂無章,單詞(由除空格和水平製表符之外的其它字元構成)之間可能有多個空格或水平製表符分隔。編寫程式,要求將其按如下排版規則排版輸出到另乙個檔案listout.txt中:

1.從標準輸入整數,作為排版後所有各行冒號在一行中的固定位置,輸入的整數肯定大於排版後所有各行冒號前的字元個數,位置從1開始計數;

2.冒號左邊的單詞串以行頭為基準左對齊,左邊的最後乙個單詞與冒號之間以空格填充;冒號右邊的單詞串以冒號基準左對齊,最後乙個單詞後只有回車換行符,不再有其它字元;

3.冒號左右兩邊的單詞間都只有乙個空格分隔,並且要求冒號兩邊至少各有乙個空格。

假設輸入檔案中每行字元個數不超過100。

【輸入形式】

待排版的參演人員名單從當前目錄下的listin.txt檔案中讀入,表示冒號位置的整數從標準輸入讀入。

【輸出形式】

排版後的參演人員名單輸出到當前目錄下的listout.txt中。

【輸入樣例】

假設檔案listin.txt內容為:

digital intermediate by : efilm

supervising digital colorist : steven j. scott

second colorist :andrew francis

digital intermediate producer:loan phan

digital intermediate editor: devon miller

表示冒號固定位置的整數為:

【輸出樣例】

檔案listout.txt中的內容應為:

【樣例說明】

輸入的檔案listin.txt中有五行參演人員名單,要求排版後冒號位於第40個字元的位置,按照上述排版規則輸出到檔案listout.txt中。

【評分標準】

#include

#include

#include

#include

#include

using

namespace std;

string detab

(string s)

return ans;

}int

main()

a = s.

find

(":");

string s1 = s.

substr(0

, a)

; string s2 = s.

substr

(a +

1, s.

length()

-1- a)

; s1 =

detab

(s1)

; s2 =

detab

(s2)

; outfile << s1 +

string

(x-1

-s1.

length()

,' ');

//string就是生成乙個所有字元都相同的串,第乙個引數是串的長度,第二個是ascii碼.

outfile <<

":"<<

" "<< s2<

} infile.

close()

; outfile.

close()

;return0;

}

實驗7 檔案

實驗任務1 2 自行實踐完畢 實驗任務3 從文字資料檔案file1.dat中讀入資料,按成績從高到低排序,將排序結果輸出到螢幕上,同時以文字方式存入檔案file3.dat中。include include define n 10 定義乙個結構體型別stu typedef struct student...

實驗7 檔案

實驗任務3 執行程式,觀察到在螢幕上正確輸出了按分數由高到低排序的資訊,唯一不足的事對於漢字的解碼不正確導致輸出的學生姓名成了亂碼。同時,在當前格式下,生成了文字檔案file3.dat 嘗試用記事本程式開啟檔案file3.dat,觀察到裡面的資料資訊是正確的,並且是直觀可讀的 實驗任務4.1 執行程...

2019 10 15檔案的讀寫

開啟檔案的讀寫操作需要包含.為了讀而開啟檔案需要建立乙個ifstream物件,為了寫而開啟檔案,要建立乙個ofstream物件。檔案開啟了就可以像處理其他iostream物件一樣進行讀寫。將乙個檔案的內容拷貝到另乙個檔案 include include includeusing namespace ...