在C中读取/写入.bin文件

时间:2017-10-16 15:14:52

标签: c

pInput = fopen("input.bin", "w+b");
if (pInput == NULL)
{
    return(-1);
    MyLogs(szError);
}

printf("Enter 'x': "); scanf("%lf", &x);

fwrite(&a, sizeof(double), 1, pInput);
fwrite(&x, sizeof(double), 1, pInput);
fwrite(&b, sizeof(double), 1, pInput);

fseek(pInput, 0, SEEK_SET);

fread(&a, sizeof(double), 1, pInput);
fread(&x, sizeof(double), 1, pInput);
fread(&b, sizeof(double), 1, pInput);
fclose(pInput);

char buff[100];
snprintf(buff, 99, "Parameter file 'input.bin' opened. X = %.3lf, a = %.0lf, b = %.0lf.", x, a, b);

MyLogs(buff);

dResult = x / a - 1 / (a * 6) * log10(a + b*exp(6 * x));

我必须编写程序(用于我的作业使用freed(),fwrite(),ftell(),fseek()),它写入二进制一些数据,然后读取它来计算表达。我有个问题。 我是否必须编写三个fwrite()和三个freed()?或者我可以在一个函数调用中执行此操作吗?有没有完美的方法呢?

1 个答案:

答案 0 :(得分:0)

Here你回答“怎么写得更好” 只需使用数组而不是逐个参数。 关于.bin文件,这不是扩展程序,相同的解决方案适用于.txt,甚至没有扩展程序。