begin process at 2012 05 30 18:10:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

tableaux de chaines en argument de fonction


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

tableaux de chaines en argument de fonction

jeudi 29 juillet 2004 à 20:08:20 | tableaux de chaines en argument de fonction

ashboody

Membre Club
je dispose d'une fonction connect a laquelle je doit passer un tableau de chaine char **RegisteredChannels_Name.
Pour cela je déclare mon tableau dans le main ( ) .
24 élements avec un buffer de 50 caractères.
char RegisteredChannels_Name[24][50];

Résultat : Segmentation Fault

J'ai surement fait une faute dans mon code mais je ne la voit pas . Si qqun pouvait m'aider.
Merci d'avance

Ashboody

---------------------------------------------------------------------------------------------------
int Connect(char *Ini_Filename,
int *RegisteredChannels_Indexes,
long *RegisteredChannels_MemoryDepth,
long *RegisteredChannels_Position,
float *RegisteredChannels_ScaleValue,
long *RegisteredChannels_SampleRate,
char **RegisteredChannels_Name,
int *RegisteredChannels_Type,
int *RegisteredChannels);
------------------------------------------------------------------------------------------------

int main (void) {

char RegisteredChannels_Name[NBCHANNELSMAX][50];

Connect(Ini_Filename,
RegisteredChannels_Indexes,
RegisteredChannels_MemoryDepth,
RegisteredChannels_Position,
RegisteredChannels_ScaleValue,
RegisteredChannels_SampleRate,
RegisteredChannels_Name,
RegisteredChannels_Type,
RegisteredChannels)

return 0;
}
jeudi 29 juillet 2004 à 20:12:28 | Re : tableaux de chaines en argument de fonction

AlexMAN

Membre Club
Un Segmentation Fault signifie que tu depasse les limites de ton tab, en voyant ton code, je ne peux pas t'aider (que fait Connect ?) mais essaye d'agrandir ton tab pour voir si ca change.

++
jeudi 29 juillet 2004 à 20:35:09 | Re : tableaux de chaines en argument de fonction

ashboody

Membre Club
non en fait un buffer de 50 caractère est largement suffisant
c'est plutot un pb de passages des arguments
j'ai un warning a la compilation sur le tableau de chaines

attention : passage de l'argument n°7 de « Connect » d'un type pointeur incompatible

voila en fait
jeudi 29 juillet 2004 à 21:12:32 | Re : tableaux de chaines en argument de fonction

djl

parce que char **RegisteredChannels_Name et char RegisteredChannels_Name[24][50] sont 2 types qui n'ont strictement rien à voir

char **RegisteredChannels_Name c'est un pointeur de char*

RegisteredChannels_Name[24][50] c'est un tableau de char 2 dimensions cad une collection de 24*50 char contigu en memoire pouvant etre indexés en 2d

passe un char ** en parametre
jeudi 29 juillet 2004 à 21:25:59 | Re : tableaux de chaines en argument de fonction

ashboody

Membre Club
ok mais ensuite je dois faire une allocation dynamique malloc( ? * sizeof(char)) ?
jeudi 29 juillet 2004 à 21:26:08 | Re : tableaux de chaines en argument de fonction

AlexMAN

Membre Club
Alloue dynamiquement

++
jeudi 29 juillet 2004 à 21:29:52 | Re : tableaux de chaines en argument de fonction

ashboody

Membre Club
c vague ... lol
jeudi 29 juillet 2004 à 21:32:28 | Re : tableaux de chaines en argument de fonction

djl

tu n'es pas oblige d'allouer

en partant de
RegisteredChannels_Name[24][50];

tu fais

char *c[24];

for( i = 0; i <24; i++ ) c[i] = RegisteredChannels_Name[i];

et tu passe c en parametre

jeudi 29 juillet 2004 à 21:34:10 | Re : tableaux de chaines en argument de fonction

AlexMAN

Membre Club
char **t; //va etre [24][50]

t = malloc(24 * sizeof(char *));

for (i = 0; i < 24; ++i) {
t[i] = malloc(50);
}

Voila, ca devrait marcher ca !

++


jeudi 29 juillet 2004 à 21:36:50 | Re : tableaux de chaines en argument de fonction

AlexMAN

Membre Club
Tiens Djl, jen profite pour poser une kestion du mm style :

j'ai une structure, je ne sais pas combien il va men falloir, commet je peu faire pour avoir un tab dinamik de structures ?

merci d'avance

1 2

Cette discussion est classée dans : fonction, int, name, char, registeredchannels


Répondre à ce message

Sujets en rapport avec ce message

Reference pour arguments de fonction! [ par CoxJoe ] Hello,Voila mon code qui est tres simple :# include # include using namespace std;// fonction pour entrer des lettresvoid getchar(char& name[]){ cout Pour les doués, moi j'en peu plus ! [ par sena ] Salutje voudrais en fait faire un passage de paramètre a une fonction dont un a une valeur par défaut. (puis inclure ca dnas une DLL)Par exemple une f Pointeurs et Desallocation [ par gilimcce ] Bonjour à tous....je declare une fonctionloadJpegImage(char *, unsigned char*, int*, int*)1e parametre : le chemin de l'image chargee2e // [C] Méthode (Fonction, procédure) interne, locale [ par nitrique ] Bonjour @ tous,J'aimerais faire un fonction locale (c'est à dire: Dans ma fonction)Mais ça pête.int SaisiePasse(char matricule[lMaxCode]) {    char to Variable de type char [ par wolfcyber ] bonjour, J'aimerais savoir l'equivalent en C++ de la fonction "Mid(int nStart,int nCount)" de la classe CString, pour une variable de type char. Cet Convertir un Int en Char [ par MaxSoldier ] Bonjours, tout d'abord, j'aimerai m'excuser car je sais que cette question a déjà été posée des milliards de fois mais, je n'ai jamais réussi à faire fonction récursive => segmention fault [ par mayapour ] Bonjour, j'ai absolument besoin de votre aide !! Lorque j'utilise ma fonction avec pour option -R pour afficher le contenu du dossier, et si celui-ci 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 developpement [ par erickoua ] bonjourj'ai utiliser la fonction _stricmp sur linux et a la compilation cette fonction n'est pas definie, voici le bout du programme:static inline int


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 0,406 sec (4)

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