c文件操作<3>

来源:互联网 发布:角度尺软件app 编辑:程序博客网 时间:2024/06/11 19:20

 

#include <stdio.h>#include <stdlib.h>#include <unistd.h>int main(){    FILE* fp = fopen("b.txt","w");    if(fp == NULL)perror(""),exit(-1);    FILE* fp2 = fopen("b.txt","r");    char buf[6] = "hello";    int fd = fileno(fp);    write(fd,buf,strlen(buf));//这个是不能保证写到磁盘上的。    int ret = 0;    while((ret = getc(fp2)) != EOF)    {        ungetc(ret,fp2);        fread(buf,sizeof(buf)-1,1,fp2);        printf("%s\n",buf);//直接输出了buf。    }}/*用fread和read,fwrite和write的区别。*//*    你如果用read/write,你必须自己分配缓存大小。    如果用fread/fwrite,则系统自动分配缓存。    如果程序对内存有限制,则用read/write比较好。*/