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

  • 3 days 12 hours ago
    Warning: Undefined array key "url" in Drupal\Core\Asset\CssCollectionOptimizerLazy->optimizeGroup()
    Warning: Undefined array key "url" in Drupal\Core\Asset\JsCollectionOptimizerLazy->optimizeGroup() 
  • 5 days 13 hours ago
    Server install & config : Debian 12 + Plesk + Apache + nginx + MariaDB + Solr
    sudo timedatectl set-timezone Europe/Berlin
  • 1 week 5 days ago
    Warning: PHP Startup: Unable to load dynamic library 'apcu.so' ... cannot open shared object file: No such file or directory

    Try this:

  • 3 weeks 4 days ago
    List Cronjobs for all users (via for + crontab)

    Alternative (without warnings like "no crontab for dovecot") to see all tasks:

  • 3 weeks 2 days ago
    Install APCu (PHP 8.1, Plesk)

    php 8.3 apcu failed

    über Plesk hat es geklappt.

     

  • 3 weeks 2 days ago
    Install APCu (PHP 8.1, Plesk)

     

    install:

    # sudo apt install php-dev
    
  • 3 weeks 2 days ago
    pecl install apcu : phpize: not found / ERROR: `phpize' failed

    phpize

    # sudo apt install php-dev
    

     

    details

  • 3 weeks 2 days ago
    Install APCu (PHP 8.1, Plesk)

    Problem:

  • 2 months 1 week ago
    Install APCu (PHP 8.1, Plesk)

    Problem:

  • 3 months 2 weeks ago
    Linux mv: das Verschieben von 'new' nach 'old' ist nicht möglich: Das Verzeichnis ist nicht leer

    Hilft "cp -avf old new && rm -rvf old" nicht?