www.matheraum.de
Das Matheforum.
Das Matheforum des MatheRaum.

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

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
Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenC/C++String als Rückgabewert an Fkt
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Geschichte • Erdkunde • Sozialwissenschaften • Politik/Wirtschaft
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.matheforum.net
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]