Bonjour a tous
Je comprends pas le resultat que me donne cette fonction:
Lorsque je declare le tableau de chaines de caracteres comme si dessous, g_strv_length me retourne "9"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Si par contre je lui demande de calculer la longueur sur une chaine de caractere, elle me retourne "3"
Comment cela se fait il?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Peut etre que je n'utilise pas la bonne fonction ...
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
Partager