c'est bon j'ai trouve... le meme principe que ma fonction en c a la sauce c++:
int patch::getTaille(fstream& fich)
{
if (!fich.is_open()) throw errPatch("fichier non ouvert, impossible de déterminer sa taille!");
streampos pos=fich.tellg();
fich.seekp( 0, ios::end );
streampos taille=fich.tellg();
fich.seekp( pos, ios::beg );
return taille;
};
rem: il faut appeller la fonction tellg() membre de fstream (ou plus haut dans l'heritage)
qui renvoit un streampos (qui est un entier ou qui peut etre convertit en entier)
rem++: ma fonction est dans utiliseé dans une classe patch... ce qui explique les patch::
la ligne if (!fich.is_open()) throw errPatch("fichier non ouvert,
impossible de déterminer sa taille!"); teste si le fichier est ouvert
et lance une exception si ce n'est pas le cas... si vous voulez
réutiliser cette fonction, il vous faudra changer cette ligne...
(j'imagine que vous n'avez pas cette classe... vu que je l'ai fait moi
meme lol). vous pouvez tout simplement mettre if (!fich.is_open())
return -1; et le tour est joue...
moi, le seul, l'unique, ZinZin
