Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
17.04.2002, 22:12
arshkrapfen



moin,
ich hab da n kleines problem ich will zwei strings in c++ zusammenfügen, in vb wüsste ich genau wie das geht, z.b. so:

dim string1, string2, string3, string4 as String
sting1 = string2 & string3 & string4

ich denk hier kann mir bestimmt jemand helfen *g*

--

Ingram Chillin' MOD
~~~~~~²³Heil Eris³²~~~~~~
~~~©opy®ight kills data!~~~

zum Seitenanfang zum Seitenende Profil || Suche
001
17.04.2002, 22:19
Hellfire



Da du VBasic besitzt, nehme ich mal an, dass du auch die MSDN Sammlung dein eigen nennen kannst. Entweder kaufst du dir ein C/C++ Buch, was den Kram eklärt, oder du guckst mal in der MSDN unter strcat nach...

--


Dieser Beitrag wurde am 17.04.2002 um 22:22 von Hellfire bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
17.04.2002, 22:35
arshkrapfen



leider hab ich die msdn net, aber das gibts ja auch online *g*
thx für info

--

Ingram Chillin' MOD
~~~~~~²³Heil Eris³²~~~~~~
~~~©opy®ight kills data!~~~

zum Seitenanfang zum Seitenende Profil || Suche
003
17.04.2002, 22:37
Leviathan



das heisst übrigens concatenation, deutsch konkatenation von strings.
deshalb auch strcat.

prototyp:
Quellcode:char * strcat(char * str1,const char * str2);

weitere funktion in dem zusammenhang:
Quellcode:char * strncat(char * str1,const char * str2,size_t count);

hängt nur count bytes von string 2 an string 1 an.
für beide ist der prototyp in string.h bzw cstring definiert.

davon mal abgesehen gilt das nur für strings im c-format, die stringklasse aus der stl hat einen operator oder eine methode dafür.

:edit:
zu spät

--

Entities: HL | HL²
Kompilierfehler
r_speeds | mehr über r_speeds


Dieser Beitrag wurde am 17.04.2002 um 22:37 von Leviathan bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
18.04.2002, 06:39
Tron



aber aufpassen, dass du net ueber das ende deines char-arrays hinausschreibst!

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
005
18.04.2002, 15:55
[RMen]OneStone



Quellcode:#define STRING_LEN 128

char szStrings[3][STRING_LEN];
char szDestionation[STRING_LEN [b]* 3[/b]];

void MyFunction()
{
for(int j = 0; j < 3; j++)
  strcat(szDestination, szString[j]);
}

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/


Dieser Beitrag wurde am 18.04.2002 um 15:56 von [RMen]OneStone bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
18.04.2002, 16:06
Ferdi



Zitat:
arshkrapfen postete
dim string1, string2, string3, string4 as String
sting1 = string2 & string3 & string4

Man darf bemerken dass dieser Code-Ausschnitt zwar Syntaktisch korrekt ist und auch einwandfrei funktionieren wird, jedoch nicht 100% dass Ergebnis ist was von dem Programmierer in so einem fall (fast immer) gewünscht war

kleines Beispiel in C:

int eins , zwei , drei;
ergibt 3 integer Variablen

bei Visual Basic 6
ist folgender Ausdruck:
Dim eins , zwei , drei as Integer
mit dem hier gleichzusetzten
Dim eins as Variant
Dim zwei as Variant
Dim drei as Integer

d.h nur die letzte Angegebene variable erhält auch den gewünschten Typ zugesprochen

Dieser "Bug" ist in Vb.NET gefixt.....

--


Dieser Beitrag wurde am 18.04.2002 um 16:07 von Ferdi bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
007
18.04.2002, 16:28
arshkrapfen



thx an alle, hab das problem schon gelöst...

@Ferdi: jow, hast recht, ich hab das auch schonmal gemerkt, das ganze war als beispiel gedacht und einfach schlampig hingeschrieben...

--

Ingram Chillin' MOD
~~~~~~²³Heil Eris³²~~~~~~
~~~©opy®ight kills data!~~~

zum Seitenanfang zum Seitenende Profil || Suche
008
19.04.2002, 14:41
Prefect



Sowas ähnliches gibt's übrigens in C auch, allerdings nur mit Pointern:

Quellcode:
int **a, b, *c;

a ist ein zweifacher Pointer auf int, b ist ein normaler int und c ein Pointer auf int. Das wird aber nicht gefixt, weil das "by design" ist ;)

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
009
19.04.2002, 14:46
Tron



deswegen bleib ich bei der devise: eine zeile => eine variablendeklaration

btw: pointer deklariere ich so:
int* a;
statt
int *a;
das find ich einleuchtender

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
010
19.04.2002, 18:55
Kriz



Tja, das ist ja einer der Vorteile einer formatfreien Sprache wie C/C++ :D

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
011
19.04.2002, 23:57
anothergb02



Oder du benutzt die CString-Klasse -> die hat auch schon nen '+' operator, also kannst du auch string1 = string2 + string3; benutzen ....

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
012
20.04.2002, 14:26
Prefect



Eine Variable pro Zeile find ich unintuitiv.

float x, y;

macht IMHO mehr Sinn als:

float x;
float y;

int* a; wäre zwar vielleicht logischer, aber gerade wegen dieser Syntaxeigenheit von C schreibe ich immer int *a, um das * dem a zuzuordnen und Fehler zu vermeiden.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
013
20.04.2002, 20:38
Kriz



Ich bin da ja noch perverser: Ich schreibe datentypspezifische Vars immer so auf:Quellcode:
int a,
    b,
    c;

float x,
      y,
      z;

usw.

Da kann man prima hinter jeder Var noch nen Kommentar klatschen =)

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche