#include <stdio.h>
#include <stdlib.h>
int main(void) {
FILE *fp;
char ch;
if ((fp = fopen("upper.txt", "a+")) == NULL) {
perror("Cannot open file");
exit(EXIT_FAILURE);
}
printf("輸入字串 (以 ! 結束): ");
ch = getchar();
while (ch != '!') {
if (ch >= 'a' && ch <= 'z')
ch -= 32; // 轉大寫
fwrite(&ch, sizeof(char), 1, fp);
ch = getchar();
}
rewind(fp); // 回到檔案開頭
while (!feof(fp))
putchar(getc(fp));
putchar('\n');
fclose(fp);
return 0;
}
| 函數 | 用途 |
|---|---|
fopen("upper.txt", "a+") | 開啟附加讀寫,檔案不存在則建立 |
fwrite(&ch, 1, 1, fp) | 寫入單一字元 |
rewind(fp) | 檔案位置指標歸零 |
getc(fp) | 讀取單一字元 |
feof(fp) | 檢查檔案結尾 |
upper.txt!rewind 回檔頭,逐字元讀出並印到螢幕示範完整的「輸入→處理→存檔→讀回→顯示」檔案操作閉環。