|
char *strtok | (char *restrict yeni-dizge, const char *restrict ayraçlar) |
wchar_t *wcstok | (wchar_t *yeni-dizge, const char *ayraçlar) |
Uyarı | |
---|---|
strtok ve wcstok işlevleri ayrıştırma sırasında dizgeyi değiştirdiğinden, strtok/wcstok çağrısından önce dizgeyi daima geçici bir tampona kaydetmelisiniz (Bkz. Kopyalama ve Birleştirme). strtok veya wcstok işlevinin yazılımınızın başka bir parçasından gelen bir dizgeyi değiştirmesine izin verirseniz, strtok veya wcstok çağrısından sonra dizge değişmiş olacağından dizgenin başka amaçlar için kullanılması gerektiğinde umduğunuz değerde olmayacağından sorunlarla karşılaşabilirsiniz. |
#include <string.h> #include <stddef.h> … const char dizge[] = "noktalama isaretleri -- ve bosluklarla ayrilmis kelimeler!"; const char ayraclar[] = " .,;:!-"; char *dizgecik, *kopya; … kopya = strdupa (dizge); /* Yazılabilir kopya. */ dizgecik = strtok (kopya, ayraclar); /* dizgecik => "noktalama" */ dizgecik = strtok (NULL, ayraclar); /* dizgecik => "isaretleri" */ dizgecik = strtok (NULL, ayraclar); /* dizgecik => "ve" */ dizgecik = strtok (NULL, ayraclar); /* dizgecik => "bosluklarla" */ dizgecik = strtok (NULL, ayraclar); /* dizgecik => "ayrilmis" */ dizgecik = strtok (NULL, ayraclar); /* dizgecik => "kelimeler" */ dizgecik = strtok (NULL, ayraclar); /* dizgecik => NULL */
char *strtok_r | (char *yeni-dizge, const char *ayraçlar, char **sonraki) |
char *strsep | (char **sonraki, const char *ayraç) |
#include <string.h> #include <stddef.h> … const char dizge[] = "noktalama isaretleri -- ve bosluklarla ayrilmis kelimeler!"; const char ayraclar[] = " .,;:!-"; char *dizgecik, *kopya; … kopya = strdupa (dizge); dizgecik = strsep (&kopya, ayraclar); /* dizgecik => "noktalama" */ dizgecik = strsep (&kopya, ayraclar); /* dizgecik => "isaretleri" */ dizgecik = strsep (&kopya, ayraclar); /* dizgecik => "" */ dizgecik = strsep (&kopya, ayraclar); /* dizgecik => "" */ dizgecik = strsep (&kopya, ayraclar); /* dizgecik => "" */ dizgecik = strsep (&kopya, ayraclar); /* dizgecik => "isaretleri" */ dizgecik = strsep (&kopya, ayraclar); /* dizgecik => "ve" */ dizgecik = strsep (&kopya, ayraclar); /* dizgecik => "bosluklarla" */ dizgecik = strsep (&kopya, ayraclar); /* dizgecik => "ayrilmis" */ dizgecik = strsep (&kopya, ayraclar); /* dizgecik => "kelimeler" */ dizgecik = strsep (&kopya, ayraclar); /* dizgecik => "" */ dizgecik = strsep (&kopya, ayraclar); /* dizgecik => NULL */
char *basename | (const char *dosyaismi) |
#include <string.h> int main (int argc, char *argv[]) { char *prog = basename (argv[0]); if (argc < 2) { fprintf (stderr, "Kullanimi: %s <arg>\n", prog); exit (1); } … }
Taşınabilirlik Bilgisi | |
---|---|
Bu işlev, farklı sistemlerde farklı sonuçlar üretebilir. |
char *basename | (char *dosyayolu) |
#include <libgen.h> int main (int argc, char *argv[]) { char *prog; char *path = strdupa (argv[0]); prog = basename (path); if (argc < 2) { fprintf (stderr, "Kullanimi: %s <arg>\n", prog); exit (1); } … }
char *dirname | (char *dosyayolu) |
|