在C语言中输入和输出 一般涉及到文件描述符, 流和缓存的关系
例一:
#include <stdio.h>#define MYPWD ”/home/chenw/c/test.txt”int main(void){ FILE *fp; char c; if ((fp = fopen(MYPWD, “a”)) == NULL) { printf(“can’t open the file\n”); } while ((c=getchar()) != EOF) { //从标准输入读入字符 fputc(c,fp); //把字符输出到文件中 putchar(c); //把字符输出到标准输出 } fclose(fp); return 0;}
例二
#include <stdio.h>#define MYPWD “/home/chenw/c/test.txt”#define SIZE 1000int main(void){ FILE *fp; char buffer[SIZE]; //分配内存空间 if ((fp = fopen(MYPWD, “a”)) == NULL) { printf(“can’t open the file\n”); } while (fgets(buffer, SIZE, stdin) != NULL) { //从标准输入将size-1个字符到字符数组中 fputs(buffer, fp); //把字符串输出到文件中 fputs(buffer, stdout); //把字符串输出到标准输出 } fclose(fp); return 0;}