Notion de pointeur avec un objet de type String

Salut salut!

J'ai quelque souci avec la syntaxe du C++ concernant la notion de pointeur sur objet dont j'ai du mal à trouver la réponse sur le net voila un exemple:

void Fonction(String* strMsg, char* cLettre1){
    
     int i;
     i = strMsg->Lengh();         //Ca sa marche
     *cLettre1 = *strMsg[1];       //Ca plante sur le " *str[1] "   !!!! !!!! !!!!

}

Merci pour vos réponse

Go doc !
http://www.cplusplus.com/reference/string/string/

moi j'ai toujours préféré utiliser les méthodes de POO :

*cLettre1 = strMsg->at(1);

PS : N'oublie pas que le caractère retourné sera le deuxième, en c/c++, les index commencent à 0

Bien vu! Passez par cette méthode c'est plus simple. Sauf que avec arduino c'est pas la meme...

string.charAt(1) ;

Ba en tout cas merci :wink:

Bonjour,

String est une classe, en C++ on utilise donc des références, c'est plus propre qu'un pointeur pour ce genre de cas :wink:

void Fonction(String& strMsg, char* cLettre1){
     *cLettre1 = strMsg[1];
}

Ou sinon avec pointeur :

void Fonction(String* strMsg, char* cLettre1){
     *cLettre1 = strMsg->charAt(1);
}