A ver si te sirve... Si lo ves complicado te explico lo que tengas duda XD
    
Código C:
Ver original#include <stdio.h>
#include <string.h>
#include <windows.h>
 
typedef struct {
    char marcado;
    char ingles[30];
    char espaniol[30];
} Traductor;
 
int main () {
    FILE* ptrFile;
    ptrFile 
= fopen ( "archivo.txt", "w+" );    char buscado[30];
 
    if ( ptrFile == NULL ) {
        printf ( "No ha sido posible abrir archivo.txt" );         return 1;
    }
 
    Traductor temp;
    Traductor t[5] = {
        { 0, "door", "puerta"},
        { 0, "window", "ventana"},
        { 0, "rueda", "wheel"},
        { 0, "main", "principal"},
        { 0, "out", "salida"}
    };
    //Nos genera un archivo con el contenido de t ya que abrimos con el atributo w+, asi nos centramos
    //solo en su funcionamiento =). Tambien podemos escribir en el...El puntero siempre estará al final tras escribir en el.
    fwrite ( t
, sizeof ( Traductor 
) * 5, 1, ptrFile 
);     
    printf ( " Entre con una palabra en ingles a buscar en el\nregistro(La palabra debe existir en la estructura t, o no XD ).\n" );     scanf ( "%29[^\n]%*c", buscado 
);  
    long nRegistros;
    fseek ( ptrFile
, 0, SEEK_END 
); // Colocar el cursor al final del fichero     nRegistros 
= ftell ( ptrFile 
) / sizeof ( Traductor 
); // Tamaño en registros    printf ( "Hay %d registros en el fichero.\n", nRegistros 
);         
    int contador = 0;
    while ( fread ( &temp
, sizeof ( Traductor 
), 1, ptrFile 
) ) {         //Si la palabra existe en el fichero
        if ( strcmp ( temp.
ingles, buscado 
) == 0 ) {             strcpy(temp.
ingles, "CAMBIADO!INGLES"); //si encontramos la palabra ponemos eso en su lugar XD             
            printf ( "\nLa palabra esta en el registro numero %d del fichero\n", contador
+1 );             
            fseek(ptrFile
, sizeof ( Traductor 
)*contador
, SEEK_SET
);             
            fwrite ( &temp
, sizeof ( Traductor 
), 1, ptrFile 
);                         break;
        }
        
        contador ++;
        //Si la palabra NO existe en el fichero
        if ( contador == nRegistros ){
            printf("\nLa palabra no se encuentra en ninguno de los %d registros del fichero\n", nRegistros
);             break;
        }
    }
 
    return  0;
}
  
Suerte XD