c++ zeichenfolge im string suchen

KAY

Mitglied
hallo zusammen :)

das is der code, der fast genauso im beispiel der hilfe steht....
aber er geht nicht.
Es soll so ablaufen: Zuerst gibt der User eine char*-String (global deklariert) ein, dann wird diese methode aufgerufen mit einem char* als parameter. dieser char soll innerhalb des Usertextes gesucht werden...

Code:
void cui(char* ZuSuchendesWort) //CheckUserInput
{
	char *result;
	result = strstr( Usertext, ZuSuchendesWort );
    if( result != NULL )
    {
		cout<<"Gefunden";
	}
}

es geht so ab, dass windows nen schönen Fehler bringt und der Debugger mir Assemblercode anzeigt...

HILFE!
 
moin


du erzeugst einen pointer der auf nichts zeigt, dass kann zu fehlern führen. außerdem wird von strstr ein int zurückgegeben und du willst es in einem char * speichern.

hier mal ein beispiel wie microsoft es macht:

Code:
#include <string.h>
#include <stdio.h>

char str[] =    "lazy";
char string[] = "The quick brown dog jumps over the lazy fox";
char fmt1[] =   "         1         2         3         4         5";
char fmt2[] =   "12345678901234567890123456789012345678901234567890";

void main( void )
{
   char *pdest;
   int  result;
   printf( "String to be searched:\n\t%s\n", string );
   printf( "\t%s\n\t%s\n\n", fmt1, fmt2 );
   pdest = strstr( string, str );
   result = pdest - string + 1;
   if( pdest != NULL )
      printf( "%s found at position %d\n\n", str, result );
   else
      printf( "%s not found\n", str );
}

mfg
umbrasaxum
 
Zuletzt bearbeitet:
strstr gibt einen char zurück, in deinem beispiel pdest.
der int bei dir ist nur die position, die ich aber nicht brauch...
 
so, meinereiner hat das jetzt hingekriegt (kein pointer mehr)

aber gibt es eine möglichkeit, dass c++ auch bei einem leerzeichen weiterliest?

wenn ich jetzt z.b. das habe :

User gibt ein: Dies ist ein Test!

dann ist der char nur "Dies", also bis zum Leerzeichen. Kann man das umgehen ?
 
Zurück