begin process at 2012 05 28 15:58:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

char [10] dans char [16][10]


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

char [10] dans char [16][10]

vendredi 15 avril 2011 à 09:14:00 | char [10] dans char [16][10]

Stutu

Bonjour à tous,
Je m'explique j'ai un char buffer[10] que je voudrais mettre dans un char temp[16][10]
car je vais devoir mettre 16 fois buffer[10] dans le char temp[16][10].
Comment dois-je proceder ?
Cordialement.
vendredi 15 avril 2011 à 10:28:36 | Re : char [10] dans char [16][10]

CptPingu

Administrateur CodeS-SourceS
Une simple copie. (Ou simplement pointer dessus, mais je vais considérer que tu veux copier)

Code C/C++ :
char buffer[10] = ....
char temp[16][10] = ....

strncpy(temp[0], buffer, 10); /* Dans la première case */
strncpy(temp[1], buffer, 10);
...
strncpy(temp[15], buffer, 10);  /* Dans la dernière case */


Évidemment, tu peux aussi faire une boucle plutôt que d'écrire 16 fois la ligne. Mais j'ai du mal à en voir l'intérêt...

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
vendredi 15 avril 2011 à 10:34:08 | Re : char [10] dans char [16][10]

Stutu

Je vais mieux m'expliquer, enfaite j'ai une boucle while(1) donc qui tourne à l'infinie
qui me permet de recevoir quelque chose que je stock dans buffer[10] et donc je voudrais stoker 16 fois la valeur buffer[10]
est-ce plus clair ?
Je vais essayer votre code merci
Cordialement
vendredi 15 avril 2011 à 10:36:06 | Re : char [10] dans char [16][10]

CptPingu

Administrateur CodeS-SourceS
Ok, je comprends mieux. Ce n'est pas le même contenu à chaque fois.

Plutôt que de stocker dans buffer, stocke alors directement dans temp, ça sera mieux, non ?

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser [i]Réponse acceptée
si un post répond à votre question
vendredi 15 avril 2011 à 10:41:49 | Re : char [10] dans char [16][10]

Stutu

Non car enfaite ce sont des trames chaque trames a une en-tête : ffffffff, ffffffff
donc je fais un if(buffer[6]!='f' && buffer[7]!='f') pour voir l'en-tête et je veux prendre ce qu'il y a entre chaque en-tête et il peux y avoir jusqu'à 14 valeurs différentes c'est pour sa que buffer[10] contient ffffffff ou 0e et je veux stoker a chaque fois est-ce plus clair ?
Cordialement.
vendredi 15 avril 2011 à 10:49:49 | Re : char [10] dans char [16][10]

CptPingu

Administrateur CodeS-SourceS
Très clair. Je comprends ton approche.

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
vendredi 15 avril 2011 à 10:51:31 | Re : char [10] dans char [16][10]

Stutu

J'ai aussi oublier de préciser que char buffer[10] c'est enfaite char* buffer[10]
et donc strncpy ne fonctionne pas désolé.
vendredi 15 avril 2011 à 10:58:12 | Re : char [10] dans char [16][10]

CptPingu

Administrateur CodeS-SourceS
char* buffer[10] c'est en fait un tableau contenant des tableaux, tout comme temp[16][10]

Si tu as la dimension de *, alors je peux t'aider.
Je m'explique:
char temp[16][10] veut dire que tu as un tableau de 16 éléments, contenant dans chacunes de ces cases un tableau de 10 éléments.
char* buffer[10] veut dire que tu as un tableau de 10 éléments, contenant dans chacunes de ces cases un tableau de taille non déterminée.

Bien évidemment si c'est terminé par un 0 terminal, alors tu as indirectment la taille de la chaîne. Et à ce moment là le code devient:
Code C/C++ :
strncpy(temp[0], buffer[0], 10); /* Attention, par sécurité, j'ai mis une limite de 10,
car la taille de ton buffer recevant est de 10, mais si ta chaîne est plus grande, elle sera tronquée. */


________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
vendredi 15 avril 2011 à 11:01:05 | Re : char [10] dans char [16][10]

Stutu

Comment sa si j'ai la dimension de *?
Merci de ton aide elle mes vraiment utile
vendredi 15 avril 2011 à 11:13:53 | Re : char [10] dans char [16][10]

CptPingu

Administrateur CodeS-SourceS
char[][] est un tableau à deux dimensions fixes.
char*[] est un tableau à deux dimensions, dont l'une fixe et l'autre variable.
char** est un tableau à deux dimensions variables.

Dans le cas de char*[10], tu as une dimension de 10 et une dimension variable. Quelle est la dimension de * (la partie variable) ?

A noter que si c'est une chaîne de caractère, la dimension est obtenable par le 0 terminal, et donc on s'en fout :p
(cf mon exemple précédent).

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question

1 2 3 4 5

Cette discussion est classée dans : buffer, temp, char


Répondre à ce message

Sujets en rapport avec ce message

Probleme de fonction gettok() pour un bot IRC [ par Tidam ] Voilou je m'explique, je suis en train de coder un bot IRC mais j'ai un ptit probleme. J'ai cree ma propre fonction gettok (d'ou vient surement le pro je ne comprend pas [ par lektrosonic ] Pourquoi a la fin du for, run_config ne vaut pas 1 mais 951742 ??void load_lang(){              auto int i;       auto char temp_buffer[MAX_PATH];     copier une valeur dans une structure [ par Kurpeus1 ] Bonjour, désolé de reposer la question mais j'ai un soucis depuis plusieurs jour et je n'arrive pas a le résoudre. Il me semble pourtant que pour un d strcat : fonction( char* buffer, int nb ); [ par wizard512 ] Bonsoir,Je souhaiterais savoir Si une fonction similaire a strcat() existerais,mais qui ajoute un entier ( int ) dans une votre avis sur une fonction de split... [ par Matt67 ] Bonsoir,Je dois faire une fonction de "splitage" de chaine. J'ai realisé ce bout de code et j'aimerais votre avis. La fonction n'est pas tout a fait f erreur bizzare [ par lektrosonic ] Bonjour, je code un programe en C sous Visual Studio.La chose qui est tres surprenante c est que quand je lance mon programe a partir de windows, il p Probleme wsock protocole HTTP [ par Target67 ] Alors je veux faire une petite appli qui permet de télécharger des fichiers sur le net suivant le protocole HTTP dont voici le code de la partie qui v COLORREF to char* to COLORREF [ par melkiorlenecrarque ] Bonjour, Je voudrais envoyer à une application serveur un COLORREF  via send. J'ai donc besoin de transformer cette variable en char* Avec les exemp listview petit probleme [ par babylone2019 ] Bonjour,voila j'ai creer cette fonction pour inserer du texte dans ma list view, mais bon il me retourne -1 des la fonction ListView_InsertItem();Mais strstr [ par melkiorlenecrarque ] Bonjour Je n'arrive pas à utiliser strstr(...) if( lstrcmp(BufMp3, "ID3") == 0 )    //tag v2             {           &


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 13,478 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales