1、fwrite以二进制形式写数据到文件中去
#include <stdio.h>
int fwrite (const void *buffer,size_t size,size_t count, FILE *stream);
fwrite()函数从数组buffer(缓冲区)中, 写count个大小为size(大小)的对象到stream(流)指定的流. 返回值是已写的对象的数量.
#include <stdio.h>
int main()
{
char name[20];
int age;
puts("please input your name and age:");
gets(name);
scanf("%d",&age);
while(getchar() != '\n');
FILE *file;
file = fopen("E:\\C\\vscode\\C\\file_io\\user.txt", "wb");
if(!file){
puts("open fail.");
return -1;
}
fwrite(name,sizeof(char),sizeof(name),file);//读name写到file
fwrite(&age,sizeof(int),1,file);//读age,写到file
fclose(file);
}
将输入的内容,以二进制形式,存储在了文件中
2、fread以二进制形式读文件中数据
语法:
#include <stdio.h> int fread( void *buffer, size_t size, size_t num, FILE *stream ); |
函数fread()读取[num]个对象(每个对象大小为size(大小)指定的字节数),并把它们替换到由buffer(缓冲区)指定的数组. 数据来自给出的输入流. 函数的返回值是读取的内容数量...
-----------------------------------------------------------------------------------------------------------------------------
将权限改成了rb,读取二进制文件
使用fread()函数
将文件中的数据,保存到了变量和数组中。通过标准输出打印出来
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()
{
char name[20];
int age;
//puts("please input your name and age:");
// gets(name);
// scanf("%d", &age);
// while (getchar() != '\n');
FILE* file;
//file = fopen("user.txt", "wb");
file = fopen("user.txt", "rb");
if (!file) {
puts("open fail.");
return -1;
}
fread(name, sizeof(char), sizeof(name), file);
fread(&age, sizeof(int), 1, file);
puts(name);
printf("age=%d", age);
fclose(file);
}
nike jack
age=28
E:\C\visualStudio\demo\fread_io\x64\Debug\fread_io.exe (进程 21800)已退出,代码为 0。
按任意键关闭此窗口. . .