编写一个从文本文件中读取信息并将其写入二进制文件的程序。该文本文件包含:
名字,姓氏,ID号码和GPA。
名字和姓氏是最大长度为255的字符数组,ID是一个无符号整数,并且GPA是一个浮点数。每行之后,还有另外一行具有相同的4条信息。如何循环到文本文件的末尾并继续将信息复制到bin文件中?例如,假设每个人有4或5行,每个人都有不同的拥有新身份证号码和GPA的学生,我如何继续将它们从文本复制到二进制文件?我想我已经在循环内部有一段,但我不确定如何实现循环。我必须使用fscanf作为文本文件,并使用fwrite作为二进制文件。任何帮助赞赏。从文本文件中读取数据并写入二进制文件
unsigned char firstName[255];
unsigned char lastName[255];
unsigned int id;
float gpa;
fscanf(textfile, "%s %s %d %f", firstName, lastName, &id, &gpa); //read one line of the text file
printf("%s %s %d %.1f", firstName, lastName, id, gpa); //print line information ((test))
printf("\n"); //newline
//Writing information to binary file
fwrite(firstName, strlen(firstName), 1, binfile);
fwrite(lastName, strlen(lastName), 1, binfile);
fwrite(&id, sizeof(int), 1, binfile);
fwrite(&gpa, 4, 1, binfile);
完美,谢谢。 –
@minigeek考虑[是否“贪婪”问.. upvote ...](http://meta.stackoverflow.com/a/298583/2410359) – chux
对不起@chux不会再这样做..有趣的事情你提到的那个问题得到了太多--ve votes.haha – minigeek