實驗十 檔案讀寫
程式設計題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 ...