2 méthodes pour copier le contenu d'un fichier dans un string.
1 méthode directe pour connaitre la taille d'un fichier.
Savoir la taille d'un fichier: il suffit d'utiliser seekg et de placer le pointeur en fin de fichier (avec l'aide de ios::end), puis d'utiliser tellg qui renvoie l'offset depuis le début de fichier jusqu'à la position courante. Penser à remettre le pointeur en début de fichier. On peut aussi sauvegarder la position courante, calculer la taille de fichier restante, puis remettre le pointeur dans l'ancienne position.
Pour la copie du contenu dans un string, on crée un buffer (char*) de taille du fichier, on utilise read, et la méthode assign des string. C'est assdez bourrin. Une autre méthode (la une) utilise assign avec en premier paramètre un iterateur du fichier de type char (les éléments référencés par l'iterateur sont des char) et en second paramètre un iterateur de char vide (correspondant à une fin de lecture). L'inconvénient est que cela reproduit le systèùme suivant:
while (fichier >> toto) // char toto
res.pushback(toto);
donc les caractères séparateurs seront ignorés.