Beispiele für C Programmierung : String zerlegen und splitten (parsen)

In diesem Beispiel haben wir ein Text mit der Variablenname "string". Im Text sind verschiedene Werte, die per Sonderzeichen getrennt sind. Hier sind die z.B. Datum, Uhrzeit und Wochentag. Nun möchten wir String zerteilen und jeden Wert separat ausgeben. Mit der Funktion strtok kann man ein string in C zerteilen.

1. Wir erstellen ein Zeiger, der uns die aktuelle Position zeigt, wo wir uns befinden. In diesem Fall habe ich es "ptr" genannt
2. Wir erstellen eine weitere Variable, in dem wir unser Trennzeichen speichern
3. Wir initialisieren den ersten Abschnitt, in dem Fall Datum
4. Nun brauchen wir eine Schleife, mit der wir durch den ganzen String durchlaufen können
5. In der Schleife geben wir die Werte aus und dann holen wir den nächsten Abschnitt
6. Wenn man strtok als Parameter "NULL " eingibt, springt er bis zur Abschnittsende

#include #include // String Bibliothek einbinden

int main(){
char string[]="01.01.2015#12:00:05#Donnerstag";
char *ptr;
char delimiter[]="#";

ptr = strtok(string, delimiter);

while(ptr !=NULL){ // wiederhole solange bis ptr leer ist bzw. NULL
printf("%s \n",ptr); // aktuellen Abschnitt ausgeben
ptr = strtok(NULL, delimiter); // den nächsten Abschnitt holen
}

return 0;
}

Neuen Kommentar schreiben

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Suche

Neueste Kommentare

  • 1 month 3 weeks ago
    [preflight] The following restricted PHP modes have non-empty values: {open_basedir}. This configuration is incompatible with drush.

    Same with Drush 13 + PHP 8.3

  • 1 month 3 weeks ago
    Acronis CyberProtect Agent For Linux (Strato Root Server)

    Initializing...

    Error : Failed to install the required package 'RPM' by using APT. Please install it manually. 

    Exit


    Solution:

  • 1 month 3 weeks ago
    Acronis CyberProtect Agent For Linux (Strato Root Server)

    So habe es installiert und dann mit Hilfe von Key/Code (über Website von Acronis Cyber Protect) aktiviert:

  • 2 months ago
    No route found for the specified format html. Supported formats: csv, json. (Drupal Routing)

    I have a view with a path like /my-content-export to export entivies as JSON or CSV.

  • 2 months ago
    InvalidArgumentException: The controller for URI "/admin/flush" is not callable.

    admin_toolbar 3.5.2 is the reason. Patch coming ...

  • 3 weeks ago
    PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock

    Drupal 10.4:

  • 2 months 4 weeks ago
    Server install & config : Debian 12 + Plesk + Apache + nginx + MariaDB + Solr

    Tools & Settings >> Security Policy :

     Allow only secure FTPS connections 

  • 4 months 1 week ago
    MariaDB Server Performance Optimieren

     

    /usr/sbin/mariadbd --help --verbose | grep "query.*size"
  • 4 months 1 week ago
    MariaDB Server Performance Optimieren

    Commandline:

    systemctl restart mariadb
  • 4 months 1 week ago
    MariaDB Server Performance Optimieren

    After my changes in /etc/mysql/db-performance.cnf