| 函數 | 調用格式 | 返回值 |
|---|---|---|
| fprintf | int fprintf(FILE *stream, char *format, ...) | 寫入字符數;負數表示錯誤 |
| fputs | int fputs(char *string, FILE *stream) | 成功返回 0;非 0 失敗 |
| fputc | int fputc(int ch, FILE *stream) | 成功返回寫入字符值;錯誤返回 EOF(-1) |
fprintf 格式規範同 printf,區別在於輸出目標為文件而非屏幕。
#include <stdio.h>
main() {
char *s = "That's good news";
int i = 617;
FILE *fp = fopen("test.dat", "w");
fputs("Your score of TOEFL is", fp);
fputc(':', fp);
fprintf(fp, "%d\n", i);
fprintf(fp, "%s", s);
fclose(fp);
}
文件內容:
Your score of TOEFL is: 617 That's good news
| 函數 | 調用格式 | 返回值 |
|---|---|---|
| fscanf | int fscanf(FILE *stream, char *format, ...) | EOF(-1) 表示錯誤;否則成功 |
| fgets | char *fgets(char *string, int n, FILE *stream) | 成功返回 string;失敗返回 NULL |
| fgetc | int fgetc(FILE *stream) | 返回字符值;錯誤返回 EOF |
#include <stdio.h>
main() {
char *s, m[20];
int i;
FILE *fp = fopen("test.dat", "r");
fgets(s, 24, fp); printf("%s", s);
fscanf(fp, "%d", &i); printf("%d", i);
putchar(fgetc(fp));
fgets(m, 17, fp); puts(m);
fclose(fp);
getch();
}
fscanf 遇空白符(空格、換行、制表)自動停止讀取%d 與 %s 可互換讀取數字字符串fgets 讀取 n-1 字符或遇換行/EOF 停止,自動添加 \0fclose 釋放資源