char *fgets(char *str, int n, FILE *fp);
fp 讀取最多 n-1 字符到 str\0str,失敗/EOF 返回 NULL#include <stdio.h>
main() {
FILE *fp;
char str[11];
if ((fp = fopen("e10_1.c", "rt")) == NULL) {
printf("Cannot open file...");
getch(); exit(1);
}
fgets(str, 11, fp);
printf("%s", str);
fclose(fp);
}
int fputs(char *str, FILE *fp);
fp#include <stdio.h>
main() {
FILE *fp;
char ch, st[20];
if ((fp = fopen("string", "at+")) == NULL) {
printf("Cannot open file..."); getch(); exit(1);
}
printf("input a string:\n");
scanf("%s", st);
fputs(st, fp);
rewind(fp); // 指針回文件開頭
ch = fgetc(fp);
while (ch != EOF) {
putchar(ch);
ch = fgetc(fp);
}
printf("\n");
fclose(fp);
}
| 特性 | fgets | fputs |
|---|---|---|
| 方向 | 文件 → 內存 | 內存 → 文件 |
| 換行處理 | 讀取並保留 | 不添加 |
| 結束符 | 自動加 \0 | 不處理 |
| 返回值 | 指針/NULL | 0/非0 |
配合 rewind、fgetc/putchar 可實現文件內容回顯驗證。