🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #1681

Re: Strings als Funktionsargument

#1681
From: L.FRANZEN
Date: Sat, 24 Feb 1996 13:53
62 lines
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.de
References: <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