PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C-String Wrapper Funktionen?



kingfinn
05-12-2009, 20:24
Hi all,

gibt es für C eigentlich etwas ähnliches wie die String Klasse in C++?
So etwas müsste sich doch auch mit Funktinne realisieren lassen, oder?


MfG

jeebee
05-12-2009, 20:32
Es gibt zum Beispiel in der Glib (Doku (http://library.gnome.org/devel/glib/stable/), Wiki (http://de.wikipedia.org/wiki/GLib)) GString. Ein kurzes Beispiel:
// File gstring_test.c

#include <glib/gstring.h>
#include <stdio.h>

int main() {
GString *str;

str = g_string_new("blubb");
printf("%s\n", str->str);
str = g_string_append(str, " bla");
printf("%s\n", str->str);

return 0;
}

Kompilieren mit (Linux):
gcc -o gstring_test `pkg-config --libs --cflags glib-2.0` gstring_test.c

HTH jeebee

kingfinn
06-12-2009, 10:11
Hey danke!
Hast du Erfahrungen mit dieser "Klasse" ?
Würdest du sie empfehlen, d.h. lohnt es sich, sie zu benutzen?

MfG

quinte17
06-12-2009, 16:09
wobei hier noch


#include <glib/gprintf.h>

hinzu sollte, da ein selbstgestrikter printf auf das struct-member keinen vorteil gegenüber char* hat. hier sollte dann ein g_printf verwendet werden...

jeebee
06-12-2009, 16:45
Eh, und wie willst du g_printf anders als auf den struct-Member anwenden? Aus glib/gprintf.h:
gint g_printf(gchar const *format, ...)

@kingfinn: Es kommt draufan wofür/wiehäufig du die Strings brauchst. Wenn du immer wieder Strings dynamisch zusammensetzen musst, lohnt es sich schon GString zu verwenden. Wenn du fast nur statische Strings hast, bringt es m.M.n. nicht viel.

quinte17
06-12-2009, 17:49
sry verschaut

kingfinn
06-12-2009, 19:44
Okay danke für die Hilfe!

MfG

kingfinn