Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

15.08.2005, 12:16

Teilstring in einen anderen kopieren

Wie kopiere ich einen Teilstring in einen anderen hinein?
Ich hab es schon mal mit strncpy versucht aber das funktioniert nicht wirklich gut.
Pseudocode:

C-/C++-Quelltext

1
2
3
4
char Text1[]="Hallo";
char Text2[100];
StringCopy(Text2,Text1,0,3);
//Text2="Hall";

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

15.08.2005, 12:31

Re: Teilstring in einen anderen kopieren

Zitat von »"Anonymous"«

Ich hab es schon mal mit strncpy versucht aber das funktioniert nicht wirklich gut.

Was heißt "funktioniert nicht wirklich gut"?
Kommt Müll dabei raus? Sollte eigentlich gehen... ansonsten schreib Dir doch ne eigene Funktion, da kommste wahrscheinlich mit 1 bis 2 Zeilen hin ^^

Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

3

15.08.2005, 12:35

strncpy funkoniert für solche Sachen prima.
Du musst lediglich den Startzeiger und die Stringlänge richtig setzen

mfg Philipp

Sicaine

unregistriert

4

15.08.2005, 13:07

Hm kannst sowas ja auch selbst schreiben oder einfach string von der stl verwenden. Das ist doch sehr viel komfortabler.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

5

15.08.2005, 13:27

Was nun komfortabler ist oder nicht, ist doch egal.

also es müsste eigentlich so funktionieren...

C-/C++-Quelltext

1
2
3
4
5
6
7
8
char pSource[255];
char pQuery[255];

strcpy(pSource, "Hallo Welt");
strcpy(pQuery, pSource);

printf("%s", pSource);
printf("%s", pQuery);


strncpy ist so ziemliuch das gleiche, nur man muss noch die anzahl der Zeichen angeben (n) die kopiert werden sollen

6

15.08.2005, 15:04

Das funktioniert auch aber es soll auch möglich sein, ab einem bestimmten Zeichen anzufangen.
Mein Projekt: Rise of the Sylvan

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

15.08.2005, 15:08

Dann musst Du doch einfach nur den Quellzeiger um die entsprechende Anzahl an Byte erhöhen.
Also z.B. so:

C-/C++-Quelltext

1
strncpy( dst, src + offset, length );

8

15.08.2005, 15:17

OK, ich hab's jetzt glaub ich gelöst:

C-/C++-Quelltext

1
2
3
4
void StringCopy(char *Dest,char *Src,int Begin,int End)
{
    strncpy(Dest,Src+Begin,End-Begin);
}
Mein Projekt: Rise of the Sylvan

9

15.08.2005, 16:49

Wie kann man einen Teilstring in einen anderen einfügen oder löschen?
Mein Projekt: Rise of the Sylvan

Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

10

15.08.2005, 17:03

Du meinst z.B.: String A="IchEr" String B="Du"
String C = zusammen(A, B); //C=IchDuEr

1.) Neues Feld machen in dem beide Teilstrings platz haben (C)
2.) 1. Teil von A nach C
3.) B nach C
4.) 2. Teil von A nach C

Löschen:
Ich würde mittels memcpy einfach den Rest des Strings über das zu löschende Stück kopieren

mfg Philipp

Werbeanzeige