Probleme avec g_strv_length (cherche equivalent "strlen()" dans la glib)
Bonjour a tous
Je comprends pas le resultat que me donne cette fonction:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
g_strv_length ()
guint g_strv_length (gchar **str_array);
Returns the length of the given NULL-terminated string array str_array.
str_array : a NULL-terminated array of strings.
Returns : length of str_array.
Since 2.6 |
Lorsque je declare le tableau de chaines de caracteres comme si dessous, g_strv_length me retourne "9"
Si par contre je lui demande de calculer la longueur sur une chaine de caractere, elle me retourne "3"
Code:
1 2 3 4 5 6 7 8 9
|
gchar *Tab[]={"Bonjour","comment","ca","va","?"};
sStatusText=g_strdup_printf("Bonjour comment ca va ?");
printf("Length Tab:%i\n",g_strv_length(Tab));
printf("Length string:%i\n",g_strv_length(&sStatusText));
g_free(sStatusText);
sStatusText=NULL; |
Comment cela se fait il?
Peut etre que je n'utilise pas la bonne fonction :roll: ...
En fait j'aimerais une fonction qui me retourne le nombre de caracteres contenus dans une chaine ('\0' compris ou non), afin d'utiliser:
gtk_text_buffer_get_iter_at_line_offset(GtkTextBuffer *buffer, GtkTextIter *iter, gint line_number, gint char_offset);
Qui me permettra, une fois la chaine inserée dans le GtkTextBuffer, d'avoir un GtkTextIter marquant le dernier mot du buffer.
Merci d avance