www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "C/C++" - String als Rückgabewert an Fkt
String als Rückgabewert an Fkt < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

String als Rückgabewert an Fkt: Will String an Funktion überge
Status: (Frage) beantwortet Status 
Datum: 19:49 Do 14.06.2007
Autor: misterET

Hallo,

wie ist es denn möglich, eine Funktion mit dem Rückgabetyp "string" zu erstellen?

        
Bezug
String als Rückgabewert an Fkt: Antwort
Status: (Antwort) fertig Status 
Datum: 20:27 Do 14.06.2007
Autor: jerry

Hallo,
ich weiß zwar nicht genau worauf du hinaus willst, aber versuchs einfach mal. Wenn ich dich falsch verstanden habe dann meld dich nochmal.

#include <string>

std::string tuEtwas();

oder du arbeitest halt mit nem char-Array, dann gibst halt zum beispiel nen pointer auf das erste element zurück.

gruß jerry

Bezug
                
Bezug
String als Rückgabewert an Fkt: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:47 Do 14.06.2007
Autor: misterET

Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)

Hi!
Danke jedenfalls schonmal für deine Hilfe!

ich schreib mal ein kleines Beispiel auf:

#include <conio.h>
#include <stdio.h>

char funktion(char a[]); /* Deklaration einer Funktion */

void main(void)
{
char zk[20]= "Das ist eine Kette";


so, jetzt würde ich die Kette gerne in die Funktion einlesen, ein bisschen bearbeiten, und anschließend würde ich die Zeichenkette gerne wieder an die Funktion zurückgeben, um die bearbeitete Zeichenkette ausgeben zu können.


Das ist glaube ich nicht so einfach, ich hoffe dir fällt dazu was ein!

Mfg



Bezug
                        
Bezug
String als Rückgabewert an Fkt: Antwort
Status: (Antwort) fertig Status 
Datum: 23:09 Do 14.06.2007
Autor: jerry

also sagen mir mal so: soweit ich weiß kannst du nicht einfach ein array zurückgeben. du musst mit call by reference arbeiten.

Ich hab mein ein kleines Beispiel angefügt. ich hoffe es ist dass was du suchst.

gruß jerry

#include <iostream>

void funktion(char a[]) {
std::cout << a[1];
a[1] = 'Y';
}
void main(void)
{
char zk[19] = "Das ist eine Kette";
        funktion (zk);
        std::cout << zk[1];
}

Bezug
                                
Bezug
String als Rückgabewert an Fkt: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 23:25 Do 14.06.2007
Autor: misterET

Hmm das sieht mi ziemlich nach C++ aus. So fit bin ich noch nicht. Call by reference bedeutet doch mit Zeigern zu arbeiten? Ich sehe hier aber keine Zeiger...

Kannst du mir zeigen wie das in C aussieht?

Danke, gruß misterET

Bezug
                                        
Bezug
String als Rückgabewert an Fkt: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 06:18 Fr 15.06.2007
Autor: jerry

Hallo,
hab jetzt grad keine zeit, aber ich schau da nochmal nach und meld mich bis spätestens heute abend wieder.

Gruß Jerry


Bezug
                                        
Bezug
String als Rückgabewert an Fkt: Antwort
Status: (Antwort) fertig Status 
Datum: 21:42 Fr 15.06.2007
Autor: jerry

Hallo,
also ich hab mich nochmal schlau gemacht.
Du kannst prinzipiell Arrays nicht als Call by Value übergeben.
Sowohl in C also auch C++.
deshalb wird da automatisch wohl nur der Zeiger übergeben.


wie bereits erwähnt, läßt es sich mit std::string viel leichter arbeiten. spricht da was dagegen? ansonsten musst du dich halt mit den zeigern rumquälen =)

gruß jerry

Bezug
                                                
Bezug
String als Rückgabewert an Fkt: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 10:44 Sa 16.06.2007
Autor: misterET

Ok, ich habe jetzt eine Funktion geschrieben, die mir einen Zeiger zurückgeben kann.

So, jetzt habe ich nur noch ein Problem!!!!

Sagen wir mal, mein Feld heißt "char string[50];"

meine funktion heißt "char *fkt(a,b,c..)"

Die Adresse vom ersten Element der Funktion ist also:
fkt(a,b,c..)


Jetzt muss ich meinem Feld "string[50]" doch die Adresse vom ersten Element zuweisen!!! DAS KLAPPT ABER NICHT!

Oder wie macht man es?


normalerweise ja so:

string = fkt(a,b,c..);

string ist ja gleich = &string[0];
und fkt(a,b,c..) = &fkta,b,c)

Aber wenn ich dem 0.Elemet vom string eine Adresse zuweisen will, kommt nur folgende Fehlermeldung:

'=' : left operand must be l-value


Ich denke einem Zeiger kann man eine Adresse zuweisen, warum klaüppts dann net?

Aber trotzdem schonmal danke für die Hilfe, bin glaub ich schon nahe an der Lösung... ;)


Bezug
                                                        
Bezug
String als Rückgabewert an Fkt: Hat sich alles erledigt, danke
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:57 Sa 16.06.2007
Autor: misterET

Hallo, hab alles jetzt so hinbekommen, wie ich es wollte!


MfG UND DANKE

Mister<<<

Bezug
                                                        
Bezug
String als Rückgabewert an Fkt: Antwort
Status: (Antwort) fertig Status 
Datum: 15:15 Sa 16.06.2007
Autor: jerry

kein problem.
dann schließe ich die offene frage hiermit mal.

Gruß jerry

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.mathebank.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]