strtok()

Kategori: C , 30 Haziran 2019 , JanFranco


strtok fonksiyonu, stringi gönderilen parametreye göre parçalaya ayırır. Örneğin elimizde şu şekilde bir yazı var: JanFranco,9803,Istanbul,Turkey. Biz burada sırasıyla kelimeleri almak istiyoruz ve virgülü almak istemiyoruz. Bunun için strtok fonksiyonunu virgül parametresi göndererek kullanabiliriz. Fonksiyon prototipini görelim:


#include <string.h>
char *strtok(char *str, const char *delim);
Fonksiyonu kullanabilmek için "string.h" kütüphanesini import etmemiz gerekir. Örnek üzerinden anlatalım:

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

int main () {
    char str[80] = "This is JAN FRANCO my friend!";
    const char s[2] = " ";
    char *token;

    for(token = strtok(str, " "); token != NULL; token = strtok(NULL, " ")){
        printf("%s\n", token);
    }

    return(0);
}
Burada ilk olarak token = strtok(str, " ") diyerek This kelimesini aldık. Pointer şu anda is kelimesini gösteriyor. is kelimesini almak için strtok(NULL, " ") şeklinde fonksiyonu çağırırz. Burada tekrardan str stringini değil NULL göndeririz. Çünkü strtok fonksiyonu str stringini kendi içinde kopyalar. Sonuç NULL çıkana kadar yani str stringi bitene kadar parçalamaya devam ederiz ve output şu şekilde çıkar:

This
is
JAN
FRANCO
my
friend!


Sonraki Yazı: Math Library
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın