Извините, но я буду немного груб.Если вы публикуете фрагмент кода, убедитесь, что он правильно компилируется.В вашем коде используется переменная "d", которая не определена, она принимает "sizeof dummy" (и я не вижу здесь пустышки, по крайней мере, в коде), и в ней отсутствует куча #include:s.
Когда исправлены ошибки компиляции (с использованием tmp1 вместо d), похоже, что он работает правильно.Обратите внимание, что генерируемый вами «текстовый файл» содержит двоичное представление структуры, а не текстовое.(Предполагается, что 32-битная машина с прямым порядком байтов вы бы получили байт со значением 100, за которым следовали бы четыре значения 0).
Кроме того, я не вижу необходимости в последнем malloc и memcpy, fwrite должновозможность выписывать содержимое исходного массива напрямую.