You're writing the entire array writePlanet each time you call save(). You can either write the entire array once or write each planet by using indices to specify which planet in writePlanet to write.
For example:
for (count = 0; count < PLANET_SIZE; count++) {
fwrite(&writePlanet[i], sizeof(writePlanet[i]), 1, outFile);
}
Again, in readFleet(), you're reading the entire array multiple times into writePlanet.
A good way to check if your fwrite() calls are working correctly is to look at the binary file with a program that will give you a dump of the file in characters. In linux, you can use od.
Here, I used it to three char arrays:
>> od -Ad -w10 -c planet.bin
0000000 E a r t h \0 \0 \0 \0 \0
0000010 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000020 M a r s \0 \0 \0 \0 \0 \0
0000030 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000040 V e n u s \0 \0 \0 \0 \0
0000050 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000060