c-将一堆浮点值保存到一个二进制文件中



我需要将多达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次,但程序什么也不做,在没有从用户那里得到任何东西的情况下,在主中达到return(0)。

问题就在这里:

while (count >17)

代码将不会进入块,因为0 > 17为false。

试试这个:

while (count < 17)

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

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

相关内容

  • 没有找到相关文章

最新更新