Problème avec pour définir la taille d'un Tableau de char, ou d'un String

Bonjour tout le monde, comme il est dit dans le titre, j'ai du mal à définir la taille d'un tableau de char ou même d'un string avec sizeof ou size :

j'ai une fonction time, qui renvoie un string (qui est un tableau de char), selon un entier heure et minute.
Par exemple si je met comme paramètre un entier heure qui est égale à 10 et un entier minutes égale à 25, le string que me renvoie la fonction serait égale à : "1025".

Voici ma fonction (je fais du C++) :

String time(int heures, int minutes) {
String time, s_Heures(heures), s_Minutes(minutes);
if (s_Heures.size() == 1) {
s_Heures = "0" + s_Heures;
}
else if (s_Minutes.size() == 1) {
s_Minutes = "0" + s_Minutes;
}
time = s_Heures + s_Minutes;
return time;
}

En compilant, le tout puissant Compilateur (Hé ouai... :astonished:) m'insulte sauvagement de la sorte :

ds1307.ino: In function ‘String time(int, int)’:
ds1307.ino:18:22: error: ‘class String’ has no member named ‘size’
ds1307.ino:21:28: error: ‘class String’ has no member named ‘size’

Pourtant size() est une fonction faisant partie du langage... non ?

Je précise à l'avance que je suis un NewBie :stuck_out_tongue:

Salut,

Tu peux taper sizeof( int long void());, ça fera parti du langage mais ça ne compilera jamais ...

String n'a pas de methode size() donc c'est normal que ça ne compile pas. length() en revanche fait parti des méthodes de String

Utilise plutôt sprintf http://www.cplusplus.com/reference/cstdio/sprintf/ et les formatteurs pour faire ce bout de code http://www.cplusplus.com/reference/cstdio/printf/