Homework Assignment #9

1. 寫一個 C 語言的程式片段讀入兩個文字檔案的內容,並將其內容連接在一起,中間以 "####" 分隔,再將結果寫入第三個檔案,請自訂檔名 。

2. 下列是一個包含員工姓名、時薪、一週工作時數 (星期一至星期五) 的結構資料型態:

typedef struct {

  struct  {

    char first[7];

    char last[7];

  } name;

  float hourly_pay;

  int working_hours[5];

} week_pay;

假設一個工廠有多位員工,他們在某一週的工作時數都記錄在一個的名稱為 salary.txt 的檔案內。

(a) 寫出至少六個員工的的薪資資料內容,

(b) 寫出一個 C 語言的程式片段將 salary.txt 的資料讀到一個 week_pay 的陣列。

3. 假設你已經實作了 stdio.h 中的 fopen(), fclose(), fgetc(), fputc(), feof(),  fseek(), ftell(), fsetpos() 等副程式,使用這些副程式實作下列的副程式:

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); // 假設 fopen 的 mode 值為 "w".

size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); // 假設 fopen 的 mode 值為 "a".