Découper string en fonction de position avec strncpy
Bonjour,
Je cherche à découper ma chaine de 184 caractères en fonction de la position en C, en cherchant l'équivalent du substring je suis tombé sur strncpy mais mon exemple ne fonctionne pas :/
Ci-joint mon code (main.c) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char CA[6];
char TA[2];
char FA[5];
char MA[6];
char CA[12];
char HA[16];
char LA[14];
printf("Hello\n");
char data[] = "0010000001110010111100100000000010110011000000000000010100111000001101000101010011000000101001101001011100000000000000101111100000100000000000001011101110010000111111000000110101100111";
strncpy(CA, data+4, 6 );
strncpy(TA, data+10, 2 );
strncpy(FA, data+12, 5 );
strncpy(MA, data+17, 6 );
strncpy(CA, data+64, 12);
strncpy(HA, data+104, 16);
strncpy(LA, data+142, 14 );
printf("CA\n");printf(CA);
printf("TA\n");printf(TA);
printf("FA\n");printf(FA);
printf("MA\n");printf(MA);
printf("CA\n");printf(CA);
printf("HA\n");printf(HA);
printf("LA\n");printf(LA);
printf("Finish\n");
return 0;
} |
Quand j’exécute, je n'ai pas du tout ce que je veux dans les variables et je ne comprends pas pourquoi, et j'ai même des caractères bizarre en sortie de console :
Citation:
Hello
CA000001Ç↑@TA11000001Ç↑@FA0010111000001Ç↑@MA
1110010010111000001Ç↑@CA
0011010001011110010010111000001Ç↑@HA
00000000000000100011010001011110010010111000001Ç↑@LA
0010111011100100000000000000100011010001011110010010111000001Ç↑@Finish
Process returned 0 (0x0) execution time : 0.016 s
Press any key to continue.