funktionen in C

ollek81

Erfahrenes Mitglied
Tach!

Hab mal wieder ein Problem:

Wie krieg ich es hin, dass ich einer Funktion einen string zuweise?
weil die als "char[23] funktion(...)" zu definiernen geht nicht. Da meckert der compiler (gnu).
und sowas wie "string funktion..." kennt er nicht....

Sollte das dann irgendwie möglich sein.. weise ich das dann mit
return('wörter') zu???

Wäre froh, wenn jemand Rat wüsste!! ;-)

MfG

ollek81
 
probier mal sowas in der art hier:

Code:
#include <stdio.h>

char *funktion();

int main(int argc, char *argv[])
{
  /* möglichkeit eins: */
  char *string;
  string = funktion();
  printf("%s\n", string);

  /* möglichkeit zwei: */
  printf("%s\n", funktion());

  return 0;
}

char *funktion()
{
  return "irgendwas";
}
 
Zuletzt bearbeitet:
Je nach Deinen Vorstellungen:

PHP:
#include <iostream>
#include <string>
using namespace std;


void GibStringZurueck (char* UebergebenerString, char* ZurueckgegebenerString)
{
	for(int i=0; UebergebenerString[i]!='\0';i++)
		ZurueckgegebenerString[i]=UebergebenerString[i]+1;

	ZurueckgegebenerString[i]='\0';
	
}

string Zusammenfuehren(string A, string B)
{
	string C= A+B;
	return C;
}

int main()
{
	char a[]="HAL";
	char b[100];
	GibStringZurueck(a, b);
	string x="foo",y="bar",z;
	z=Zusammenfuehren(x,y);
	cout<<b<<endl<<z<<endl;
	return 0;
}

Irgendwie gehen da die terminierenden NULLs verloren :confused: , bitte selber an die passenden Stellen setzen...
 
Zuletzt bearbeitet:
Original geschrieben von ollek81
Tach!

Hab mal wieder ein Problem:

Wie krieg ich es hin, dass ich einer Funktion einen string zuweise?
weil die als "char[23] funktion(...)" zu definiernen geht nicht. Da meckert der compiler (gnu).
und sowas wie "string funktion..." kennt er nicht....

Sollte das dann irgendwie möglich sein.. weise ich das dann mit
return('wörter') zu???

Wäre froh, wenn jemand Rat wüsste!! ;-)

MfG

ollek81

du willst einfach nur einen String zurück geben richtig ?

Dann geb doch einfach einen String zurück.

string meinefunc()

Oder VC String

CString meinefunc()

oder VCL

AnsiString meinefunc()

oder QT

QString meinefunc()

oder ... :)


oder habe ich deine frage falsch verstanden ? :)
 
Hi!

Hmm...

Also, wenn ich das so ewig zwischen verschiedenen Variablen rumschieben muss, kann ich auch einfach ne funktion schreiben, die selbst void ist und den wert ner Var übergibt usw..
ich wollte das eigentlich so haben printf("\nBlabla %s", funktion(a));

Daishi: "string funktion..." hat's bei mir nicht. Ich muss mich "Uni-bedingt" mit ANSI-C rumschlagen. Das Programm soll dann auch noch unter UNIX laufen... (Ja, doof, ich weiß...)

Trotzdem erstmal Danke für die Mühen!!!

ollek81
 
der code den ich da oben gepostet hab, macht genau das, was du willst. musst du halt nur noch an dein programm anpassen.
und compiliert hab ich das auch unter linux, also sollte es auch auf unix laufen.
 
Original geschrieben von ollek81
ANSI-C rumschlagen. Das Programm soll dann auch noch unter UNIX laufen... (Ja, doof, ich weiß...)

Doof ?
Gut.
Übringeds ist UNIX das C Betriebssystem überhaupt. Ebenso macht das keinen Unterschied: ANSI ist standart (nicht ohne grund).

Habe leider keine einfachen C kenntnisse.
Aber da heutzutage jeder gcc auch c++ compiliert greif einfach auf die stl zu und nutze den string aus der stl.

oder bau eine Template funktion

template<T>
T meinefunc(T meinPar)

Damit kannst du dateitypen unabhängige funktionen nutzen.
 
Ihr glaubt gar nicht, wie gerne ich auf irgendwelche Bibliotheken zugreifen würde!! Darf ich aber nicht!! C++ schon gar nicht!!
Alles was auch nur im geringsten vom Standart abweicht müssen wir wenn als Quellcode dabei haben...(Und erklärern können!) Keine Ahnung, ob ich überhaupt was anderes als die stdio.h nehmen darf...
Das ist die Aufgabe. Kann ich nix dran machen...

Außerdem meinte ich, das C manchmal doof ist nicht das was ihr hier postet!!

Ich hab gerade vor 5 Tagen mit C angefangen! Seit dem hänge ich nur noch über dem Buch und vor dem PC... Also habt etwas Gedult mit mir...

wicked: Jetzt hab ich das auch gesehen!! SORRY, aber meine Augen sind bald i.A....

Thx an alle!!

ollek81
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück