Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
20.01.2002, 03:53
CY4N1D3



folgendes:

MessageBox( NULL, "lala"+"huhu", "test", MB_OK );

ich möchte einfach nur 2 strings addieren ("lala"+"huhu")
es geht nicht. er sagt "error C2110: cannot add two pointers"
kann mir einer helfen ?

--

ob nun delphi, c oder java. kein programm lässt sich mit allen 3en gleichschnell entwickeln.

zum Seitenanfang zum Seitenende Profil || Suche
001
20.01.2002, 10:11
Sccar



du solltest afaik einfache anführungszeichen benutzen um einen string zu kennzeichnen, nicht doppelte (also ' statt "). ansonsten sollte dein beispiel funktionieren.

cu

sccar

--

...das is zwar der uebelst gehackteste kleine bastard, den ich je gesehen habe, aber dafuer sauschnell. {Tron}


Dieser Beitrag wurde am 20.01.2002 um 10:12 von Sccar bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
20.01.2002, 10:20
Another1



lol, du delphi-monkey *gg*
natürlich kannst du in C nich so ohne weiteres 2 strings addieren.
Könntest nen operator schreiben, aber eigentlich macht man das mit
strcat (so weit ich mich erinner, bring die ganzen string functions immer durcheinander ...)

... naja ich nutz eh fast nur sprintf für sowas:
char stringsAdded[512];
char *name = "Another1";
char *action = "does moooh";
sprintf(stringsAdded,"%s %s\n",name,action);
MessageBox(NULL,stringsAdded, "test", MB_OK );

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
003
20.01.2002, 11:00
schlomo



[spam]Und da will mir einer sagen, in C sei die Syntax einfacher ;-)[/spam]
Sorry

--

zum Seitenanfang zum Seitenende Profil || Suche
004
20.01.2002, 12:35
Archangel



hm, naja _eigentlich_ hänt man zwei strings ja aneinander mit strcat:

Quellcode:
char sz1[32], sz2[32], sz1_und_sz2[64];
strcpy(sz1, "Ich bin ");
strcpy(sz2, "1337");
strcpy(sz1_und_sz2, sz1);
[u]strcat(sz1_und_sz2, sz2);[/u] // hiermit wird sz2 an sz1_und_sz2 angehängt, was bis jetzt den inhalt von sz1 enthält

wobei sprintf in den meisten fällen komfortabler ist, vor allem wenn man noch irgendwie zahlen hineinbringt (braucht man kein itoa oso..)

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
005
20.01.2002, 12:54
Kriz



Einführung in die kleine SRTL von C:

#include <string.h>

2 Strings inhaltlich vergleichen:

int strcmp(const char* string_1, const char* string_2);

Rückgabewerte:

0 = Strings inhaltlich identisch
1 = string_1 ist inhaltlich größer als string_2
-1 = string_1 ist inhaltlich kleiner als string_2

2 Strings verbinden:

char* strcat(char* string_1, const char* string_2);

Rückgabewert: Zeiger auf die verbundenen Strings

String kopieren:

char* strcpy(char* zielstring, const char* quellstring);

Rückgabewert: Zeiger auf den neuen String

Stringlänge berechnen:

size_t strlen(const char* string);

Rückgabewert: Anzahl der Zeichen im String (ohne Nullterminator)

size_t ist nach der C-Vorgabe ein unsigned int.

--

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


Dieser Beitrag wurde am 20.01.2002 um 12:56 von Kriz bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
20.01.2002, 13:17
Sccar



atho, jetzt versteh ichs erst, er will das ganze in c machen und net in delphi, ich hab mich schon gewundert, ein spiel in delphi proggen und nich wissen wie man zwei strings "zusammenschneiden". sry für missverständniss :), aber deswegen wohl am besten immer die sprache mit angeben.

sccar

--

...das is zwar der uebelst gehackteste kleine bastard, den ich je gesehen habe, aber dafuer sauschnell. {Tron}


Dieser Beitrag wurde am 20.01.2002 um 13:19 von Sccar bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
007
20.01.2002, 15:08
CY4N1D3



ja, das mit strcat & strcpy kannte ich schon aus delphi heraus.nur einfach 2 strings addieren ? muss man da echt solche umwege gehen ??? *böööh*

ok, ich versuchs weiterm danke für den hinweiss. hab im übrigen mit einen baum aus serious sam 2 gaklaut und nen bissi mit alpha rumgespielt. ich musste ausserdem für den serious sam baum nochmal ne eigene textur machen. aber alpha funtzt :) (wenn auch noch nicht so schön wie in ss2)

das mit den strings brauchte ich um alphatexturen automatisch zu laden. wollt beispielsweise angeben: will tree1.bmp haben. zu tree1.bmp gehört aber noch eine alphatextur. also wenn fileexists(tree1_alpha.bmp) dann nimm die als alphatextur *g* bin ich nicht faul ? *G*

--

ob nun delphi, c oder java. kein programm lässt sich mit allen 3en gleichschnell entwickeln.

zum Seitenanfang zum Seitenende Profil || Suche
008
20.01.2002, 15:20
Prefect



Die Syntax von C ist ja auch einfacher... die Funktionen wie strcat() etc... gehören nicht zur C-Syntax, und gerade das macht (unter anderem) die Stärke von C aus ;p

In C ist + _immer_ mathematische Addition.

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
20.01.2002, 15:25
Kriz



Und...

Nur in C++ kann man das + überladen und dadurch auch eine String-Verkettung herbeiführen. Das lohnt aber nur bei class side Operatoren, also solche Operatoren, die sich auf eine Instanz beziehen. Außerhalb von Klassen ist das gute, alte strcat weiterhin die Lösung #1.

Aber Cyanid, du hast mit C/C++ weitaus mehr Macht über ein Programm als mit Delphi. Gerade weil es oft so "umständlich" aussieht, offenbart sich die Stärke dieser Programmiersprache, deren Urvater bereits entwickelt worden war, als deine Eltern selbst noch "feuchte Träume" waren :)

C/C++ ist Macht über den Code...

--

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
010
20.01.2002, 19:12




(none)

--

zum Seitenanfang zum Seitenende Profil || Suche
011
20.01.2002, 19:18
Kriz



Hm, aber sprintf() gehört zum ANSI-Standard :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
012
20.01.2002, 19:43




(none)

--

zum Seitenanfang zum Seitenende Profil || Suche
013
21.01.2002, 17:36
Prefect



sprintf() haben alle OSs. Bei snprintf() (Buffer-Overflow-sicheres sprintf) sieht's etwas mager aus. Aber selbst Windows hat's. Es nennt sich da bloß _snprintf, aber das ist noch ertragbar (per #define). Wenn's ganz nach Microsoft ginge würde die Funktion ja als HRESULT BuildFormatStringEx(LPSTR pszBuffer, DWORD dwBufferSize, LPCSTR pszFormat, DWORD dwFlags, ...); definiert sein.

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