[Help] Supprimer les guillemets d'une chaine de caractères

J'aimerais si possible dans un char, supprimer les guillemets au début et a la fin de la chaîne

char chaine = "1,2,3,4,5,6,7,8,9";

je voudrais enlever les guillemets pour utiliser la variable chaine dans un tableau
pour que la chaîne soit 1,2,3,4,5,6,7,8,9 a la place de "1,2,3,4,5,6,7,8,9"

char tableau = {chaine}

et le contenu du tableau doit être équivalent à

char tableau = {1,2,3,4,5,6,7,8,9} // sans les guillemets

Première erreur, il s'agit d'une chaîne de caractères donc un tableau :

char chaine[] = "1,2,3,4,5,6,7,8,9";

Deuxio, les guillemets font partie du langage, pas de la chaîne.

Ensuite si tu veux transformer chaque caractère en integer :

char chaine[] = "1,2,3,4,5,6,7,8,9";
int tableau[9];    // ou char si tu préfères
int i = 0;
   const char *separators = ",";
   char *strToken = strtok (chaine, separators);
   while (strToken != NULL && i < sizeof(tableau)) {
        tableau[i++] = atoi(strToken);
        strToken = strtok (NULL, separators);
    }

Mais comme tu mélanges pas mal les types de données, je ne sais pas si j'ai bien compris la question.

Personnellement je m'embêterai pas pour ça ! Le compilateur doit sûrement créer le même fichier binaire avec la première manière que la deuxième. Ça c'est plus important. Et après il faut aussi comprendre l'autre manière.

Pour un peu plus de contexte mon programme va chercher le texte d'un fichier .txt et l'écrire dans une variable (le texte étant dans ce style : 1,0,0,1,0,1,1,2)

Ce que j'essaye de faire c'est transformer les chiffres dans ce texte en entier séparé par des virgules pour ensuite placer la variable contenant les chiffres dans des accolades {} et ensuite allumer des leds.

Une boucle for va lire les {} (le contenu des {} sera {1,0,0,1,0,1,1,2}

Le premier chiffre correspond à la première led, le deuxième à la deuxième led etc...

La valeur du chiffre lui détermine la couleur de la led (1 pour bleu, 0 pour rouge et 2 pour vert)

Si les chiffres sont séparés par des virgules ce ne sera pas des entiers mais du texte.
Si tu convertis du texte en chiffre il faut alors mettre lesdits chiffres dans un tableau pour pouvoir ensuite les manipuler.
Je n'ai pas l'impression que tu aies compris comment fonctionnent les différents type de données supportés par le C.

Le C++ est assez nouveau pour moi donc j'essaye de comprendre comme je peux

As-tu essayé ma proposition ?
Ensuite, si les données proviennent d'un fichier il faut dimensionner chaine correctement :
char chaine[20];
Et lire les données du fichier, à l'aide de fgets() par exemple (librairie SDFAT).

En réalité il lit le contenu d'une page php et écrit le contenu dans une variable

Quelle taille la page??

Juste une ligne contenant "1,0,0,1,0,1,1,2"

OK. Que ce soit un fichier ou le contenu d'une page HTML, cela revient au même. Il faut placer le contenu dans la variable chaine.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.