int fputc(int ch, FILE *fp);
fp 指向文件"w"、"w+"、"a"、"a+"("w" 會截斷舊文件,"a" 追加保留)EOFFILE *fp = fopen("string", "wt+");
char ch;
printf("input a string:\n");
ch = getchar();
while (ch != '\n') {
fputc(ch, fp);
ch = getchar();
}
rewind(fp); // 指針歸零準備讀回
while ((ch = fgetc(fp)) != EOF)
putchar(ch);
fclose(fp);
int main(int argc, char *argv[]) {
FILE *fp1, *fp2;
char ch;
if (argc == 1) { puts("need filename"); return 0; }
fp1 = fopen(argv[1], "rt");
fp2 = (argc == 2) ? stdout : fopen(argv[2], "wt+");
while ((ch = fgetc(fp1)) != EOF)
fputc(ch, fp2);
fclose(fp1); fclose(fp2);
return 0;
}
用法:
prog string → 顯示 string 內容prog string ok → 將 string 複製到 okstdout 是預定義 FILE*,指向控制台(ch = fgetc(fp1)) != EOF 兼具讀取與判斷\r\n↔\n)