runtime errors
-
ich habe eine funktion geschrieb, die einen string nach ein paar anderen durchsucht nur bekomme ich , wenn ich die aus führe eine fehler und vs zeigt irgendwas mit calling conventions an, wie kann ich das lösen?
bool instring(char*str1,char** str2,int len){ for(int i=0;i<len;i++){ if(strstr(str1,str2[i])==NULL) return false; } return true; }
-
Das ist gültiges C, nur ein logischer Fehler ist drin. Versuch's mal so:
#include <stdio.h> #include <string.h> #include <stdbool.h> bool instring(char*str1,char** str2,int len) { for (int i = 0; i < len; i++) if (strstr(str1, str2[i])) return true; return false; } int main(void) { char *array[] = {"bcx", "def"}; puts(instring("abcdefg", array, 2) ? "ja" : "nein"); }
-
ne das soll so sein, denn wenn der string drin ist, soll es nicht ausgegeben werden. aber ich hab es grade mitbekommen warum...
irgenwie klappt es wenn ich von str1 eine koie anlegen und mit der dann strstr() durchführe