Veröffentlicht 11. April 200223 j 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
11. April 200223 j 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; }
12. April 200223 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.