Est il possible de convertir une variable de type string en varaibale de type char ?
Merci de votre aide
Version imprimable
Est il possible de convertir une variable de type string en varaibale de type char ?
Merci de votre aide
Une variable de type "string" ?...
Ca n'existe pas vraiment �a :?
Un "string" c'est juste un tableau de char qui se termine par '\0'
Donc si tu veux convertir "a" en 'a' par exemple c'est pas dur : tu regardes la premi�re lettre de ton string "a" ;) (je vais pas te faire l'offense de poster la syntaxe exacte :mouarf: )
C marrant j'ai encore rien compris :)
Pour moi un char est une chaine se terminant par /0.
Un string est une structure avec un tableau de char caract�ris� par un premier �l�ment (char) et une longueur.
Mais existe il une fonction qui transforme un string en char directement, ou bien faut il faire une boucle qui lie le string et qui pour chaque �l�ment le concat�ne dans un char ?
Le type string n'est pas d�fini par d�faut en C (c'est du C++).
S'il s'agit d'un type utilisateur, difficile de r�pondre � la question sans connaitre sa d�claration...
Petite piqure de rappel : Les cha�nes de caract�res en CCitation:
Envoy� par CoachMac
Merci pour ce rappel, et donc existe t'il un moyen de transformer un string en char ?
Ou la question est stupide :) ?
Ca d�pend de ce que tu entends par string ;)Citation:
Envoy� par CoachMac
Hello,
Le vaccin est mal pass� ? :mrgreen:Citation:
Envoy� par CoachMac
A+
Tu ne peux pas.Une string (tableau de caract�re termin� par \O) ne rentrera jamais dans un char.Citation:
Envoy� par CoachMac
Un char = 1 octet
une string = Autant d'octet que de caract�re dans le tableau.
Ca ne peut pas rentrer...
Qu'est-ce que tu cherches a faire exactement explique ton probl�me.
Hello,
Citation:
Envoy� par hegros
Non, un byte (multiplet en fran�ais), qui souvent il est vrai vaut un octet.Citation:
Envoy� par hegros
Je dirais plut�t : il s'agit en m�moire d'une suite contig�e de caract�res termin�e par un caract�re particulier, le caract�re 'terminateur de chaine' ('\0' => caract�re nul, baqueslache-z�roi, z�ro tout court, etc...).Citation:
Envoy� par hegros
Mais bon, il n'y a pas de type chaine de caract�res en C, donc peut-on vraiment en parler ? ;)
A+
1 byte = 8 bit = 1 octet. C'est ce que j'ai toujours compris :PCitation:
Envoy� par Foobar1329
Pas en C : http://emmanuel-delahaye.developpez.com/init_c.htm#byteCitation:
Envoy� par _kal_
�a alors ! J'aurai jamais pens� :aie:Citation:
Envoy� par gege2061
Ceci depend-il de l'impl�mentation ?
Uniquement de la machine, rien n'emp�che un constructeur de faire un byte avec 10 bits.
Citation:
Envoy� par Trap D
Ok :)
Mais en realite un char est un type entier couvrant une plage minimale garantie de -127 a 127 ou de 0 a 255 selon l'implementation. Il y donc une grave confusion dans ton esprit.Citation:
Envoy� par CoachMac
Rien de tel en c natif. Par contre, 'string' designe un tableau de char initialise par des valeurs representant des caracteres et terminee par un 0.Citation:
Un string est une structure avec un tableau de char caract�ris� par un premier �l�ment (char) et une longueur.
Il est urgent que tu revoies le vocabulaire du langage C, sinon on ne va pas se comprendre.
Reformule ca avec le vocabulaire correct, parce que je ne comprend ni la phrase ni tes intentions.Citation:
Mais existe il une fonction qui transforme un string en char directement, ou bien faut il faire une boucle qui lie le string et qui pour chaque �l�ment le concat�ne dans un char ?
C'est une vision reductrice et simplificatrice du monde...Citation:
Envoy� par _kal_
En C, le plus petit element adressable est le byte. Il doit faire au moins 8 bits. Un char a exactement la taille d'un bye.
Un octet est un element d'information d'exactememt 8 bits de longueur. Ce terme appartient plutot au monde des telecoms ou pour specifier des fichiers ou toutes donnees organisees en blocs de 8 bits. On ne l'utilise pas en C.
Donc, on pourrait r�sumer par "1 char = 1 byte >= 8 bits = 1 octet" ?
(en C uniquement, bien entendu).
PS:Citation:
Envoy� par Emmanuel Delahaye
Il est clair que j'ai besoin de r�vision. Je n'ai plus pratiqu� le C depuis trop longtemps.
Dans tous les cas j'ai trouv� avec votre aide et les diff�rents liens la solution � mon probl�me et je vous remercie beaucoup.