C++ Débutant: Passer un fstream à une fonction pour lire les données

J'ai un fichier texte nommé num.txt qui n'contenu est la ligne 123. Puis-je avoir le suivant:

void alt_reader(ifstream &file, char* line){
    file.read(line, 3);
    cout << "First Time: " << line << endl;
}

int main() {
    ifstream inFile;
    int num;
    inFile.open("num.txt");
    alt_reader(inFile, (char*)&num);
    cout << "Second Time: " << num << endl;
}

La sortie est:

First Time: 123
Second Time: 3355185

Pouvez-vous m'aider à comprendre comment obtenir un fstream qui est lu dans une fonction toujours attribuer à la variable principale? Je fais cela parce que alt_reader a vraiment beaucoup plus à lui, mais c'est la partie que je suis coincé sur. Merci beaucoup pour l'aide.

Mise à JOUR:
En utilisant le projet de Loi Oneal les commentaires, j'ai écrit

void alt_reader(ifstream &file, stringstream &str, int n){
    char buffer[n+1];
    file.read(buffer, n);
    buffer[n] = 0;
    str << buffer;
    cout << "First Time: " << buffer << endl; //First Time: 123
}

int main() {
    ifstream inFile;
    stringstream strm;
    int num;
    inFile.open("num.txt");
    alt_reader(inFile, strm, 3);
    cout << "Second Time: " << num << endl; //Second Time: 123
}

Grâce. Toutes les critiques avec ce qui est là maintenant?