Est il possible de convertir une variable de type string en varaibale de type char ?
Merci de votre aide
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 )
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 CEnvoyé 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 stringEnvoyé par CoachMac
Hello,
Le vaccin est mal passé ?Envoyé par CoachMac
A+
Tu ne peux pas.Une string (tableau de caractère terminé par \O) ne rentrera jamais dans un char.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,
Envoyé par hegrosNon, un byte (multiplet en français), qui souvent il est vrai vaut un octet.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...).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 comprisEnvoyé par Foobar1329
Pas en C : http://emmanuel-delahaye.developpez.com/init_c.htm#byteEnvoyé par _kal_
Ça alors ! J'aurai jamais pensé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.
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.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.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.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...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: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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager