0 Pluspunkte 0 Minuspunkte
Wie kann ich am einfachsten/schnellsten prüfen ob ein bestimmter String in einem C Array enthalten ist?
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

In C gibt es keine direkte Funktion, die prüft, ob ein Array einen bestimmten String enthält. Das musst du manuell durchführen, indem du jedes Element des Arrays mit dem gewünschten String vergleichst.

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

int arrayContainsString(const char *array[], int size, const char *target) {
    for (int i = 0; i < size; ++i) {
        if (strcmp(array[i], target) == 0) {
            return 1;  // Der String wurde im Array gefunden
        }
    }
    return 0;  // Der String wurde nicht im Array gefunden
}

int main() {
    const char *myArray[] = {"Apfel", "Banane", "Orange", "Erdbeere"};

    const char *searchString = "Banane";
    if (arrayContainsString(myArray, sizeof(myArray) / sizeof(myArray[0]), searchString)) {
        printf("Das Array enthält den String '%s'.\n", searchString);
    } else {
        printf("Das Array enthält nicht den String '%s'.\n", searchString);
    }

    return 0;
}
von