Question: ```
short i = 1;
fwrite(&i, sizeof(i), 1, file);
fwrite(&i, sizeof(i), 1, file);

```

Is that proper? I want to write the same `i` twice.

Answer: 
There's nothing wrong with it; just remember to check the return value.
Yes, that will work fine. Alternatively you could declare an array of two and use a single `fwrite`, which would theoretically be more efficient:

```
short i[2] = {1, 1};
fwrite(i, sizeof(short), 2, file);

```