begin process at 2008 07 05 23:59:28
1 205 404 membres
370 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Utiliser ANSI au lieu d'ASCII [ Archives / Divers ] (Telepathmaster)

Utiliser ANSI au lieu d'ASCII le 28/04/2005 21:51:14

Telepathmaster
Bonjour,

Je dois développer une sorte de serveur en C++, qui permette les transferts de fichiers.
Ayant fait mon serveur et un client adapté, j'essaie d'envoyer une image et une musique.

Le problème, c'est que les deux fichiers utilisent les caractères codés en ANSI, et le problème essentiel réside dans le caractère 0 des deux languages : en ascii, 0 est "NULL", tandis qu'il représente  en ANSI.
Je voudrais donc savoir comment obliger mon programme a utiliser les normes ANSI plutôt qu'ascii (je compile avec dev-cpp).

Merci d'avance

Re : Utiliser ANSI au lieu d'ASCII le 29/04/2005 09:53:36

ymca2003
Je pige pas trop ce que tu raconte là :
ASCII : American Standard Code for Information Interchange
ANSI : American National Standards Institute
[ Lien ]

l'ASCII est un standard crée par l'ANSI pour mapper les caractères à des valeurs numériques stockable par un ordinateur.

A mon avis ton problème vient plutot du fait que tu ne manipules pas tes fichiers en binaire, seul moyen de gérer des images et de la musique. Si tu les ouvre en mode texte les caractères nuls sont effectivement mal géres.

Re : Utiliser ANSI au lieu d'ASCII le 29/04/2005 14:48:42

Telepathmaster

Je les ouvres avec ios::binary


Re : Utiliser ANSI au lieu d'ASCII le 29/04/2005 14:49:27

Telepathmaster
en ascii, 0 est "NULL", tandis qu'il représente  en ANSI.
Pour ça si tu ne me crois pas consultes des tables.

Re : Utiliser ANSI au lieu d'ASCII le 30/04/2005 01:39:57

NitRic
Réponse acceptée !
NULL est une macro, définie à zéro(0) en C++ et à ((void *)0) en C

que ce soit en Ascii, Ansi, Unicode, etc ... le caractère de fin de chaine est 0, '\0', 0x00, 0x0000, etc ... ==>> 0 ==>> Zéro ...

assure toi de lire/écrire en binaire et non en texte, si ca ne fonctionne toujours pas, regarde au niveau du tranfert des données ... la meilleur solution est de ne pas tenir compte du type des fichiers, tu lis/écris en binaire et c'est tout. sinon, vas-y plus `low-level`, sans stl ...


~(.:: NitRic ::.)~

Re : Utiliser ANSI au lieu d'ASCII le 01/05/2005 00:50:08

Telepathmaster
Ok, je savais as que ça représentait aussi la fin de chaîne. Donc naturellement ça passait pas dans le socket (transfert réussi de 0 caractÚres).
Donc ça m'a permi de régler ça, merci.


Classé sous : serveur, utiliser, ascii, lieu, ansi

Participer à cet échange

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS