Partie de chaine de caractere constante, possible?
Bonjour,
Je dois tester des chaînes de caractères du type #AA @AAM $AADI etc pour savoir laquelle a été reçue. Pour cela j'utilise
if (strcmp(chaine_recue,"#AA")==0) {}
Les AA sont en fait une adresse et je désirerais pouvoir utiliser le même programme et remplacer AA par l'adresse (06 par exemple) sans devoir les remplacer manuellement dans le programme.
J'ai pensé à #define mais ça ne remplace pas dans les chaînes. Existe-t-il une solution?
Merci.
Re: Partie de chaine de caractere constante, possible?
Citation:
Envoyé par toninlg
Bonjour,
Je dois tester des chaînes de caractères du type #AA @AAM $AADI etc pour savoir laquelle a été reçue. Pour cela j'utilise
if (strcmp(chaine_recue,"#AA")==0) {}
Les AA sont en fait une adresse et je désirerais pouvoir utiliser le même programme et remplacer AA par l'adresse (06 par exemple) sans devoir les remplacer manuellement dans le programme.
J'ai pensé à #define mais ça ne remplace pas dans les chaînes. Existe-t-il une solution?
Merci.
En continuant sur l'idée des #define tu peux faire comme cela
Code:
1 2 3 4 5 6 7 8
|
#define AD "AA"
int main(void) {
char test[512] = {"#"};
strcat(test, AD); // ou sprintf si tu preferes
return 0;
} |
Re: Partie de chaine de caractere constante, possible?
Merci beaucoup. J'ai trouvé une méthode plus simple :
Code:
1 2 3
|
#define AA 0x06
const char c[6]='#',AA,'D','I'; |