格式化写
格式化读
#include<stdio.h>
void fileOpenAndClose();
void readFileChar();
void writeFileChar();
void readFileStr();
void formatWrite();
void formatRead();
void binaryWrite();
void binaryRead();
void seek();
size_t fileSize(const char* fileName);
int main()
{
formatWrite();
formatRead();
return 0;
}
//学生
typedef struct Student
{
int id;
int age;
char name[10];
}Student;
//格式化读写
void formatWrite()
{
Student bloom[47] = { {100,22,"bloom" },{1001,19,"逝川"} ,{1002,20,"hello"} ,
{1003,21,"哈哈哈"}, {1004,18,"幻阳"} };
//把这个学生信息写入文件
FILE* fp = fopen("DEMO1.txt", "w");
if (!fp)
{
perror("file open failed");
return;
}
//写入
for (int i = 0; i < 5; i++)
{
int ret = fprintf(fp, "%d %d %s\n", bloom[i].id, bloom[i].age, bloom[i].name);
if (ret == EOF)
{
perror("write failed");
}
}
fclose(fp);
}
void formatRead()
{
Student vip[47];
//把这个学生信息读入
FILE* fp = fopen("DEMO1.txt", "r");
if (!fp)
{
perror("file open failed");
return;
}
//读
for (int i = 0; i < 33; i++)
{
int ret = fscanf(fp, "%d %d %s", &vip[i].id, &vip[i].age, vip[i].name);
if (ret == EOF)
{
perror("读取错误");
break;
}
}
fclose(fp);
}