String an Funktion übergeben

Krikus

Mitglied
Hi,

ich habe ein Probleme 2 Strings an eine Funktion zu übergeben.
Hier der Code:

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

int searchStringInString(char *s, char *suchen)
{

pos = s.find(suchen);
return pos;
}

int	main (void)
{
	int	Adresse;
	char* Text="hallo Alles klar?";
	char* Suchstring="Alles";
	char* leerstring="";

	Adresse = searchStringInString(Text, Suchstring);
cout << Adresse;
	Adresse = searchStringInString(leerstring, Suchstring);
	Adresse = searchStringInString(Text, leerstring);
	Adresse = searchStringInString(leerstring, leerstring);
	Adresse = searchStringInString(Text, Text);
	Adresse = searchStringInString(Suchstring, Suchstring);
	Adresse = searchStringInString(Suchstring, Text);
	return 0;	
}

Wie muss der richtige Funktionsaufruf lauten.
 
Hi.

Wenn du Methoden der std::string Klasse verwenden willst, dann solltest du auch std::string Objekte und keine C-Strings verwenden:
C++:
int searchStringInString(const string& s, const string& suchen) {
...
}
Allerdings macht es nicht viel Sinn eine eigene Funktion zu schreiben, wo man auch gleich direkt die std::string::find Methode aufrufen könnte.

Gruß

PS: Außerdem hast du vergessen die Variable pos zu definieren. Und es ist meist sehr nützlich wenn man die Fehlermeldungen hier postet.
 
Besten Dank.
Ich weiß, das ein extra Funkton dafür zwar überflüssig ist, aber ich brauch später den Code als Assembler.
Ein Frage hätte ich aber noch.
In welcher Bibliothek finde ich die Funktion find(), damit ich mir den Code dazu einmal anschauen kann.
 
Ein Frage hätte ich aber noch.
In welcher Bibliothek finde ich die Funktion find(), damit ich mir den Code dazu einmal anschauen kann.
Die Klasse std::string ist im Header <string> deklariert. Somit ist sie Teil der STL (Standard Template Library). Abhängig welchen Compiler und welche STL Implementation du verwendest ist die Definition der Methoden von std::string in unterschiedlichen Dateien verteilt (und evlt. auch nur als Binärcode verfügbar).

Gruß
 
Zurück