Leitwolf22
Lt. Junior Grade
- Registriert
- Juni 2008
- Beiträge
- 269
Sorry, mir ist das etwas peinlich. Die Aufgabe sollte wirklich einfach sein, aber ich steck fest und komm nicht weiter. Und wenn man schon mal die Seuche hat, dann findet man auch im Netz nichts mehr, bzw. ist halt blind..
Ich möchte einfach den Teil eines Strings extrahieren, und zwar anhand einer fixen Position. Also sagen wir die Stellen 4-6 in diesem Beispiel:
char str1[] = "abcdefghijklmnopqrstuvwxyz";
char *teil = str1 + 3;
printf ("%s\n", str1 + 3);
printf ("%s\n", teil);
Ich möchte also das Ergebnis "def" erhalten, weiß aber nicht wie. Die ersten drei Zeichen überspringen geht ja problemlos, nur wie kürze ich den String dann auf eben die nächsten drei Zeichen? Meine Idee wäre gewesen einfach einen kürzeres Array auf die entsprechende Stelle zeigen zu lassen, was aber zu einem Fehler führt. Also..
char *teil[3] = str1 + 3;
Das sollte doch irgendwie möglich sein, ohne jetzt umständliche String Funktionen zu bemühen, also etwa die Gesamtlänge des String zu bestimmen und dann von hinten her abschneiden usw. Weiß jemand wie?
lg.
Ich möchte einfach den Teil eines Strings extrahieren, und zwar anhand einer fixen Position. Also sagen wir die Stellen 4-6 in diesem Beispiel:
char str1[] = "abcdefghijklmnopqrstuvwxyz";
char *teil = str1 + 3;
printf ("%s\n", str1 + 3);
printf ("%s\n", teil);
Ich möchte also das Ergebnis "def" erhalten, weiß aber nicht wie. Die ersten drei Zeichen überspringen geht ja problemlos, nur wie kürze ich den String dann auf eben die nächsten drei Zeichen? Meine Idee wäre gewesen einfach einen kürzeres Array auf die entsprechende Stelle zeigen zu lassen, was aber zu einem Fehler führt. Also..
char *teil[3] = str1 + 3;
Das sollte doch irgendwie möglich sein, ohne jetzt umständliche String Funktionen zu bemühen, also etwa die Gesamtlänge des String zu bestimmen und dann von hinten her abschneiden usw. Weiß jemand wie?
lg.