C语言IO操作总结
C程序将输入看做字节流,流的来源是文件、输入设备、或者另一程序的输入;
C程序将输出也看做字节流;流的目的是文件、视频显示等;
文件处理:
1 :fopen("filename ","mode")
返回文件指针
mode可以为"r、w、a、r+、w+、a+"
r:读文件
w:写文件 不存在则自动创建
a:尾部追加文件
不存在则自动创建
r+ 打开文件、可读可写模式
w+ 打开文件、可读、可写如果存在则将文件截短为0 不存在则自动创建
a+
打开文件、可读整个文件、可写文件尾部 不存在则自动创建
2: getc(fp)返回文件的字符
3
:putc(fp,stdout)等同于 putchar()
putc (fp, fpout) 将fp指向的文件写入到fpout中;
4 :
fclose() 成功关闭文件返回0 否则返回EOF;
实例代码
1 #include <stdio.h> 2 #include <stdlib.h> // ANSI C exit() prototype 3 int main(int argc, char *argv[]) 4 { 5 6 char ch; // place to store each character as read 7 FILE *fp; // "file pointer" 8 long count = 0; 9 FILE *fpp; 10 // char *filename; 11 // scanf("%s",filename); 12 // filename="file.txt"; 13 14 if ((fp = fopen("file.txt", "r+")) == NULL) 15 printf("Can‘t open "); 16 if ((fpp= fopen("filecopy.txt", "a")) == NULL) 17 printf("Can‘t open "); 18 while ((ch = getc(fp)) != EOF) 19 { 20 putc(ch,fpp); // same as putchar(ch); 21 count++; 22 } 23 fclose(fp); 24 printf("File has %ld characters\n", count); 25 26 return 0; 27 28 }
实例效果 :(需要新建一个file.txt文件并输入内容如XXX) 每次执行完毕之后会会将flie.txt文件内容复制到filecopy.txt文件结尾位置;