从文件中读取数据

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{  
    char a[20]={0};
    FILE *fp;
    fp=fopen("a.txt","r");//rb,rb+且均为作出修改//wb,wb+都不行,不能输入且清除了文件信息,准备输出到文件//注意在程序中的"a"文件在此处必须用a.txt引用
    fscanf(fp,"%s",a);
    printf("%s
",a);
    return 0;
}
文件操作心得:
一、文件操作过程中,以二进制方式向文件中写数据,只能
1.删除原文件,建立同名的新文件再向里面写数据 2.全部覆盖原文件写入新数据(效果同1) 3.向文件末尾添加新数据 错误想法:企图对原文件中的局部数据进行修改 总结:二进制方式即只能写数据,不能通过写来修改覆盖数据 二进制修改数据折中办法:先将不需修改的数据读出到内存,将他与需修改的新数据合并, 再存到磁盘文件中 二、以ASCII(文本文件)方式向文件中写数据则可以对原文件数据进行覆盖 将指针移向被覆盖数据的初始位置,然后此次处开始写数据,将覆盖后面的数据 fp=fopen("data","ab+");//读和追加,二进制方式打开文件,文件指针指向文件末尾 fseek(fp,0L,0);//对下一条写语句无用 fwrite(&count,sizeof(int),1,fp);//数据不是写在文件开始处,而是写在文件末尾(因为ab+方式打开的文件只能在末尾添加数据) fseek(fp,0L,2); fread(&count,sizeof(int),1,fp);//当末尾没有数据可读时,指针恢复到最后一次移动前的位置读数据
原文地址:https://www.cnblogs.com/IThaitian/p/3602650.html