Bonjour à tous ! Voilà je vous expose mon problème.
Je travail en ce moment sur un programme charger de capturer un flux sur un périphérique (usb) seulement lorsque je veux transferer ces données vers une variable grace à sprintf j'ai droit au signal SIGSEGV (segmentation).
Voilà mon code :
Je ne comprend pas car un simple printf("%02x",((int) buf[i] & 0x0ff)); fonctionne et je ne pense pas avoir fait une erreur de codage...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 char buf[65535]; char *cmp_1; (...) while(1) { ret = usb_interrupt_read(handle,bEndpointAddress,buf,256,100); if (ret) { for (i=0; i<ret; i++) { sprintf(cmp_1,"%02x",((int) buf[i] & 0x0ff)); printf("cmp_1 :[%s]",cmp_1); } } }
Merci de m'aider ^^.
Partager