[C++] octets d'un fichier dans un string
Fermé
d.draper
Messages postés
2
Date d'inscription
dimanche 18 septembre 2011
Statut
Membre
Dernière intervention
18 septembre 2011
-
18 sept. 2011 à 22:53
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 19 sept. 2011 à 12:38
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 19 sept. 2011 à 12:38
A voir également:
- [C++] octets d'un fichier dans un string
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Fichier iso - Guide
5 réponses
KX
Messages postés
16737
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
18 mai 2024
3 015
Modifié par KX le 18/09/2011 à 23:16
Modifié par KX le 18/09/2011 à 23:16
Les tableaux de char ne sont pas dépendants de la langue de l'utilisateur, il n'y a donc pas de problème de portabilité, et je ne pense pas non plus d'endianness, donc il n'y a aucune raison de ne pas utiliser istream::get et ostream::write même pour du contenu binaire.
En Java c'est un petit peu différent car il y a de l'endianness avec les char, mais c'est pour ça que l'on manipule des tableaux de byte pour contourner le problème, donc pareil, il n'y a aucune raison de se priver de InputStream.read et OutputStream.write
La confiance n'exclut pas le contrôle
En Java c'est un petit peu différent car il y a de l'endianness avec les char, mais c'est pour ça que l'on manipule des tableaux de byte pour contourner le problème, donc pareil, il n'y a aucune raison de se priver de InputStream.read et OutputStream.write
La confiance n'exclut pas le contrôle
d.draper
Messages postés
2
Date d'inscription
dimanche 18 septembre 2011
Statut
Membre
Dernière intervention
18 septembre 2011
Modifié par d.draper le 18/09/2011 à 23:16
Modifié par d.draper le 18/09/2011 à 23:16
Mais tu ne connais pas quelque chose de plus rapide qu'un tableau de char? une classe "secrète" ou autre ? :)
KX
Messages postés
16737
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
18 mai 2024
3 015
18 sept. 2011 à 23:21
18 sept. 2011 à 23:21
C'est extrêmement puissant un tableau de char ^^
Pour le Java tu peux utiliser des Buffered Streams qui permettent d'accélérer un peu les choses sur la machine virtuelle, mais en C++ je ne pense pas que ce soit nécessaire vu que c'est un programme compilé la "bufferisation" doit être géré directement par la machine (au moins en écriture).
Pour le Java tu peux utiliser des Buffered Streams qui permettent d'accélérer un peu les choses sur la machine virtuelle, mais en C++ je ne pense pas que ce soit nécessaire vu que c'est un programme compilé la "bufferisation" doit être géré directement par la machine (au moins en écriture).
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
19 sept. 2011 à 12:33
19 sept. 2011 à 12:33
Je ne comprends rien à ton problème. Un char est un entier, il ne prend le sens de caractère qu'à l'occasion de certaines fonctions. En plus, en général, un char fait 1 octet. Lorsqu'on ouvre un fichier, il n'y a pas d'information de langue propre à ce fichier (enfin, si ce fichier est suffisamment simple) tu lis des entier par paquet que tu stockes dans ta variable, le codage en caractère ne s'effectue que lors de l'affichage. D'ailleurs, c'est le souci de pas mal de gens qui écrive leur textes avec des caractères étendus et qui ne comprennent pas pourquoi ils s'affichent différemment dans la console (tout simplement car on traite des chiffres avant de traiter des caractères).
Je pense que le mieux serait d'exposer ton problème et ce que tu veux faire.
Je pense que le mieux serait d'exposer ton problème et ce que tu veux faire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu n'arrive pas à mettre les octets d'un fichier dans un string ? Un octet déjà ça fait 8 bits... Dans un seul string ça m'étonnerait que ça rentre.
KX
Messages postés
16737
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
18 mai 2024
3 015
19 sept. 2011 à 12:35
19 sept. 2011 à 12:35
La capacité d'un string c'est std::string::max_size(), qui est de l'ordre de 4 Gio !!!
Alors, si, on peut mettre tout un fichier dans un string, mais l'intérêt parait limité.
Alors, si, on peut mettre tout un fichier dans un string, mais l'intérêt parait limité.
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
19 sept. 2011 à 12:38
19 sept. 2011 à 12:38
Je me demande s'il n'y avait pas une blague la dessous : "mettre 8 bit es dans une string" HAHAH ! (pff....)