Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » char * zusammenhängen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
16.05.2007, 15:42 Uhr
patrick



Hallo,


ich möchte zwei char* val1, val2; aneinanderhängen.

Soll ungefähr so aussehen:

char* result = "name:" + val1 + "name2:" + val2;

Die zeile macht keinen Sinn, aber so etwas möchte ich haben...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.05.2007, 15:52 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


char* ist nur ein zeiger. du benötigst speicher in den du das ballern kannst

das kopieren kannst du von einer funktion wie z.B. strcat übernehmen lassen.

meistens ist das aber ein recht redundanter schritt. Was genau willst du denn machen?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.05.2007, 16:00 Uhr
patrick



Hallo,


ich muß eine Funktion aufrufen und einen char* übergeben. Diesen muß ich mir wiederum aus anderen zusammenstricken. Also irgendwie werte von pointern bekommen, neuen string basteln, der noch text zusätze hat, und dann darauf einen pointer erstellen...

So geht es:

C++:
char str[80];
    strcpy (str,"dbname= ");
    strcat (str,dbname);
    strcat (str," user=");
    strcat (str,dbuser);
    strcat (str," password=");
    strcat (str,dbpassword);
    strcat (str," tty=");
    strcat (str,pgtty);
    puts (str);



Ist aber ein bißchen umständlich, oder macht man das so?

Dieser Post wurde am 16.05.2007 um 16:17 Uhr von patrick editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.05.2007, 19:03 Uhr
Pablo
Supertux
(Operator)


ja, das macht man so.

Es gibt schöne Bibliothkene für C, die dir viel Arbeit mit Strings abnehmen:

1. GString aus der Glib
2. Safe Strings (die habe ich geschrieben, im Wesentlichen sehr ähnlich wie die Glib aber manchen Stellen sehr vereinfacht)
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 16.05.2007 um 19:03 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
16.05.2007, 20:59 Uhr
0xdeadbeef
Gott
(Operator)


...um...wie wärs einfach mit

C++:
char result[100];
snprintf(result, 100, "name1: %s, name2: %s", val1, val2);


?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
16.05.2007, 22:30 Uhr
Reyx
IT-fetischistischer Wurstsalat mit rostigem Berghorn
(Operator)



Zitat von patrick:
ich möchte zwei char* val1, val2; aneinanderhängen.


Hinweis am Rande: Dir ist klar, dass hier nur val1 ein Pointer auf char ist?
typeof(val1) = char*
typeof(val2) = char
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: