文件的读写API函数

来源:互联网 发布:java写一个视频播放器 编辑:程序博客网 时间:2024/06/05 01:06
#include "stdio.h"#include "stdlib.h"#include "string.h"void main_fputc(){FILE *fp = NULL;char s[] = "1234567890";int i = 0;char* filename = "c:/1.txt";fp = fopen(filename,"r+");if(fp == NULL){printf("func fopen error!\n");return ;}printf("fopen success\n");for(i=0;i<strlen(s);i++){fputc(s[i],fp);}fclose(fp);}void main_fgetc(){FILE *fp = NULL;char s;int i = 0;char* filename = "c:/1.txt";fp = fopen(filename,"r+");if(fp == NULL){printf("func fopen error!\n");return ;}printf("fopen success\n");while(!feof(fp)){s = fgetc(fp);printf("%c",s);}printf("\n");fclose(fp);}void main_fputs(){FILE *fp = NULL;char s[] = "1234567890";int i = 0;char* filename = "c:/1.txt";fp = fopen(filename,"r+");if(fp == NULL){printf("func fopen error!\n");return ;}printf("fopen success\n");fputs(s,fp);fclose(fp);}void main_fgets(){FILE *fp = NULL;char from[1024];int i = 0;char* filename = "c:/1.txt";fp = fopen(filename,"r+");if(fp == NULL){printf("func fopen error!\n");return ;}printf("fopen success\n");while(!feof(fp)){char *p = fgets(from,40,fp);if( p == NULL ){goto End;}printf("%s",from);//printf("\n");}End:fclose(fp);}typedef struct Tea{char name[64];int age;}Tea;//直接把内存数据写入文件void main_fwrite(){Tea array[3];FILE *fp = NULL;char from[1024];int i = 0;char* filename = "c:/3.data";int tempcount = 0;for(i=0;i<3;i++){sprintf(array[i].name,"%d%d%d",i+1,i+1,i+1);array[i].age =  i + 31;}fp = fopen(filename,"wb");if(fp == NULL){printf("func fopen error!\n");return ;}printf("fopen success\n");for(i=0;i<3;i++){//返回值 写入成功的次数tempcount = fwrite(&array[i],sizeof(Tea),1,fp);}if( fp != NULL )fclose(fp);}void main_fread(){Tea array[3];FILE *fp = NULL;char from[1024];int i = 0;char* filename = "c:/3.data";int tempcount = 0;/*for(i=0;i<3;i++){sprintf(array[i].name,"%d%d%d",i+1,i+1,i+1);array[i].age =  i + 31;}*/fp = fopen(filename,"rb");if(fp == NULL){printf("func fopen error!\n");return ;}printf("fopen success\n");for(i=0;i<3;i++){//返回值 写入成功的次数tempcount = fread(&array[i],sizeof(Tea),1,fp);}for(i=0;i<3;i++){//sprintf(array[i].name,"%d%d%d",i+1,i+1,i+1);//array[i].age =  i + 31;printf("name:%s,age:%d\n",array[i].name,array[i].age);}if( fp != NULL )fclose(fp);}void main(){//按字符操作文件//main_fputc();//main_fgetc();//按行操作文件//main_fputs();//main_fgets();//按块操作文件main_fwrite();main_fread();system("pause");}

原创粉丝点击