Premesso che non puoi scrivere oltre i limiti imposti alla matrice, devi adottare il metodo che ti ha indicato Yuvevon ( leggere con getline(), spezzare con strtok(), convertire con atoi() ).
Un modo più " C++ " per fare quanto indicato ( che adotterei io, ma che richiede che tra numero e numero ci siano solo spazi) può essere questo (richiede <string> e <sstream>):
Il procedimento di tokenizzazione e conversione è a carico dello istringstream.codice:else{ std::string line; while( getline(file,line) ) { c=0; std::istringstream iss(line); while ( iss >> m[r][c] ) c++; r++; } }