使用fwrite的功能我不能understasnd finction如何FWRITE在CI工作做了交流program.here其它: -在哪裏以及如何在C
#include <stdio.h>
int main()
{
struct books
{
char name[100];
float price;
int pages;
}book1;
puts("enter the name of the book");gets(book1.name);
puts("enter the price of the book");scanf("%f",&book1.price);
puts("enter the pages of the book");scanf("%d",&book1.pages);
FILE *b=fopen("Book.txt","w");
fwrite(&book1,sizeof(book1),1,b);
}
這裏是個節目的輸入: -
$ ./a.out
enter the name of the book
Voldemort the last BSD user
enter the price of the book
40000
enter the pages of the book
34
,這裏是該文件的內容: -
$ cat Book.txt
Voldemort the Great Linux and bsd user!����c����@�@��,B
因此,什麼是錯在我的計劃? fwrite如何工作?我應該什麼時候使用它?
你的程序出了什麼問題取決於你在第一時間預期的輸出。 –
您需要聲明變量類型book1,同時忘記關閉文件 –
, c @ @ ,B部分(16字節)實際上是您的價格(8字節)和頁面數據(8字節)。您首先需要了解C/C++如何管理數據,然後才能將文件保存到文件中 –