Jaipur Geschrieben 11. April 2002 Geschrieben 11. April 2002 Hi, gibt es unter C eine Stringfunktion die einen string in einen anderen string einfügt? char string1[] = hllo char string2[] = a schnittstelle: void string( char string1, char string2, int pos) beispiel: void string( string1, string2, 2) ergebnis = hallo Zitieren
Eight Geschrieben 11. April 2002 Geschrieben 11. April 2002 Also ich meine es gibt keine solche Funktion. Aber versuchs doch mal hiermit: void InsertString( char string1[], char string2[], int nPos ) { int len = strlen( string1 ); int len2 = strlen( string2 ); char buffer[255] = ""; strcpy( buffer, string1+nPos-1 ); strcpy( string1+nPos-1, string2 ); strcpy( string1+strlen(string1), buffer); strcpy( buffer, string1); memcpy( string1, buffer, sizeof(buffer) ); return; } Zitieren
nic_power Geschrieben 12. April 2002 Geschrieben 12. April 2002 Da gibts zwei Moeglichkeiten, entweder Du schreibst Dir selbst eine entsprechende Funktion (das Beispiel oben funktioniert nur bedingt und prueft keinerlei Randbedinungen ab) oder Du verwendest - sofern Du auf einem Linux System arbeitest - die Glib, dort gibts es die passenden Funktion: struct GString { gchar *str; gint len; }; GString* g_string_new (const gchar *init); GString* g_string_insert (GString *string, gint pos, const gchar *val); Du musst dann allerdings GString in Deinem Programm verwenden bzw. bei Bedarf erzeugen. Nic Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.