A quanto sembra dal codice, sul file ci devi scrivere, non leggere. Modifica la chiamata a fopen() con "w" come secondo argomento, non "r". E comunque in generale dopo l'apertura dei file fai sempre una verifica del puntatore al file stream che hai appena tentato di aprire: se è NULL significa che hai sbagliato qualcosa. In questo modo puoi renderti conto più facilmente di errori del genere.

codice:
ofp = fopen ("dizionario.txt", "w");
if (ofp == NULL) {
    fprintf(stderr, "Problema nell'apertura del file.\n");
    return -1;
}