将一堆浮点数保存到二进制文件中

时间:2013-12-02 05:24:39

标签: c user-input binaryfiles

我需要将最多16个浮点数保存到bin文件中,以便稍后阅读并对信息进行一些操作,但是我有一个问题,因为我不太清楚什么是最好的方法这就是我写的东西不起作用

void FileMaker (void)
{
char buff[10];
float num;
int count = 0;
printf("Enter 16 Floating numbers:");
FILE *fh = fopen ("Matrix.bin", "wb");

if (fh == NULL)
printf("Fail");

if (fh != NULL)
    {
        while (count >17)
        {
            fgets(buff, 10, stdin);
            num = atof(buff);
            fwrite(&num, sizeof(float), 1, fh);
            count++;
        }
    fclose (fh);
    }
}

基本上我试图做的是一次从键盘上获取一个浮点数然后将其打印到文件中并重复16次但是程序没有做任何反而在主要到达返回(0)而没有得到来自用户的任何事情。

1 个答案:

答案 0 :(得分:1)

问题在于:

while (count >17)

代码不会进入阻止,因为0 > 17为假。

试试这个:

while (count < 17)

(或者我个人更喜欢for循环)

for (count = 0; count < 17; ++count)
{
...
}