Ti consiglio di rileggere attentamente la documentazione delle funzioni in questione. Penso che volessi scrivere qualcosa del genere (ometto, per semplicità, il controllo degli errori):

codice:
#include <stdlib.h>
#include <stdio.h>

int main()
{
    int a, b, c;
    FILE *f;

    f = fopen("prova.txt", "r");
    fscanf(f, "%d", &a);
    fscanf(f, "%d", &b);
    fclose(f);
    c = a + b;
    printf("il risultato è %d \n", c);
    system("PAUSE");

    return EXIT_SUCCESS;
}
supponendo che il contenuto del file abbia un formato del tipo:

codice:
<primo_addendo> <secondo_addendo>
e.g.

codice:
12 34
altra domanda fopen va bene anche per aprire un database.db e poter far delle operazioni con sqlite(che poi sarebbe il mio obbiettivo finale)?? perchè per ora ho sempre trovato solo file di testo
le funzioni di I/O su file della libreria standard (cioè quelle di cui parliamo e altre ancora) ti consentono di eseguire operazioni su qualsiasi tipo di file, ma chiaramente in maniera rudimentale: si tratta di funzioni generiche con le quali puoi eseguire semplici operazioni di lettura/scrittura e poco altro, non hanno la minima coscienza del file su cui operano, accedono ai byte e basta.
Se devi eseguire operazioni ad un livello più alto su un file sqlite, la cosa più logica da fare è ricorrere all'apposita libreria
http://www.sqlite.org/
e all'API C/C++ che espone. La cosa meno logica sarebbe scriverti da solo tutte le funzioni di cui hai bisogno partendo da quelle di base per la gestione dei file in C (appunto fopen() e compagni), ma fallo solo se hai centinaia e centinaia di ore di tempo da buttare nella maniera più inutile possibile.