Pages : 1
#1 Le 02/06/2007, à 15:53
- Damiens
utilisation de strtok (langage c)
j'essaie de scinder une chaine de caractere en plusieurs token et voici mon code :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int lectureAtt(int *brol,char temp[]){
char buff[256] = "1234;damiens";
char *pch;
pch = strtok(buff,";");
*brol = atoi(strtok(NULL,";"));
strcpy(temp,strtok(NULL,";"));
printf("%d\t%s\n",*brol,temp);
}
int main(int argc, char** argv){
int i = 0;
char pseudo[16] = "brol";
printf("%d\t%s\n",i,pseudo);
lectureAtt(&i,pseudo);
printf("%d\t%s\n",i,pseudo);
}
lors de l'execution j'obtiens ceci :
sneimad@sneimad-desktop:~/projets/essais$ ./a.out
0 brol
Erreur de segmentation (core dumped)
lorsque j'utilise gdb sur l'executable (gdb ./a.out core et (gdb) where), il me dit : no stack.
Pourriez-vous m'aider svp ?
PS : pour l'utilisation de strtok je me suis base sur la description de cette page http://www.cplusplus.com/reference/clib … trtok.html et je ne suis pas sur de l'avoir applique correctement.
#2 Le 02/06/2007, à 16:55
- obiwankennedy
Re : utilisation de strtok (langage c)
De mémoire, je dirais que c'est plus comme cela.
int lectureAtt(int *brol,char temp[]){
char buff[256] = "1234;damiens";
char *pch;
*brol = atoi(strtok(buff,";"));
pch = strtok(NULL,";");
strcpy(temp,pch);
printf("%d\t%s\n",*brol,temp);
}
Dernière modification par obiwankennedy (Le 02/06/2007, à 16:56)
Dans mes logiciels, j'écris ton nom.
SGNGD: SvgGd is Not GD
Rolisteam
Hors ligne
#3 Le 02/06/2007, à 17:06
- damiens
Re : utilisation de strtok (langage c)
Merci beaucoup !