Article View: de.comp.lang.c++
Article #1681Re: Strings als Funktionsargument
From: L.FRANZEN
Date: Sat, 24 Feb 1996 13:53
Date: Sat, 24 Feb 1996 13:53
62 lines
2178 bytes
2178 bytes
tombeck schrieb am Do, den 22.02.96:
> Da haett ich jetzt gleich eine Frage dazu. Verzeiht, wenn sie nicht
> zum Thema passt. Wie uebergebe ich denn einen String als Argument
> einer Funktion? Mein Buchautor beschreibt das so:
>
> #include<string.h>
>
> void f(char* s) {
> char a[50];
> strcpy(a, s);
> };
>
> int main() {
> f("Das ist ein String");
> return 0;
> }
Also zum einen ist das kein C++, denn sonst waere f ja als Klasse
definiert worden, z.B. mit
class f
{
public:
f (char *s);
}
und dann den Konstruktor mit:
void f::f (char *s)
{
char a[50];
strcpy(a, s);
}
und dann in main z.B.:
int main
{
f myF ("mit diesem String wird nur Unsinn getrieben.");
return 0;
}
Aber zu Deiner Frage: einen String im Sinne von Elementen des Datentyps
char uebergibst Du als Zeiger, also als char*, in Elementfunktionen, die
den String nicht aendern besser noch als const char*.
> Ich hab das zwar auch nicht fuer eine elegante Loesung gehalten, hab
> aber leider nix anderes gefunden. Kennt bei dieser Gelegenheit jemand
> ein *gutes* C++ Buch, welches *sauberes* C++ Programmieren beibringt?
Ja, es heisst 'Objektorientiertes Programmieren in C++' und ist von Nico
Josuttis (der schreibt auch ab und an hier im Brett :-))
> Meins ist "Das grosse Buch zu C++" von Data Becker. War das einzige
> im Kaufhaus, und bereits das zweite Uebungsbeispiel hab ich eleganter
> als der Autor geloest...
Wundert mich ueberhaupt nicht; die Buecker von Data Drecker haben in der
Regel nicht mal Brennwert ...
LIO
Technical Details
Message-ID:
<63S7Aj$uppB@bion183.bionic.zerberus.de>Path:
arc1-ca.pugleaf.net!bi-node.zerberus.de!bionic.zerberus.deReferences:
<3120B25C.2650@fokus.gmd.de> <pu91i3yvzc.fsf@themroc.colibri.de> <4gimln$hqn@pacifica.access.ch>Show Full Headers
Complete Article Headers
Newsgroups: de.comp.lang.c++
Message-ID: <63S7Aj$uppB@bion183.bionic.zerberus.de>
From: L.FRANZEN@BIONIC.zerberus.de
Path: arc1-ca.pugleaf.net!bi-node.zerberus.de!bionic.zerberus.de
Subject: Re: Strings als Funktionsargument
Date: Sat, 24 Feb 1996 14:53:00 +0100
X-Mailer: CrossPoint v3.1 R/A9448
References: <3120B25C.2650@fokus.gmd.de> <pu91i3yvzc.fsf@themroc.colibri.de>
<4gimln$hqn@pacifica.access.ch>
X-Gateway: ZCONNECT bi-node.zerberus.de [UNIX/Connect v0.74b]
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit