Bir dizenin simgeleri arasında yineleme yapmak için strsep() işlevini kullandığımda, işaretçileri bu belirteçlere kaydetmem ve bunları daha sonra kullanmam güvenli midir? Örnek:İşaretçi değerlerini strsep() değerlerine döndürme
char str[] = "some word tokens";
char *sameStr = str;
char *token, *old1, *old2;
token = strsep(&sameStr, " ");
old1 = token;
token = strsep(&sameStr, " ");
old2 = token;
token = strsep(&sameStr, " ");
printf("%s\n%s\n%s\n", token, old1, old2);
Bu strsep gibi görünüyor() her zaman her belirteci sonra boş karakterler ekleyerek, özgün karakter dizisini değiştirir. Eğer öyleyse, güvenli depolama olmalı ve daha sonra old1 ve eski2 işaretçileri kullanmalı mıyım? Ayrıca, aynıStr kullanımım sorun yaratıyor mu? İşaretli str işaretçisini doğrudan strsep() kısıtlı char ** türünü beklemeden kullanamıyorum.
Yalnızca *, * geçirdiğiniz dizideki içeriklerin üzerine yazdığı gibi görünüyor. Bu kesinlikle * yapar. [Bu kılavuz sayfasından] (http://man7.org/linux/man-pages/man3/strsep.3.html): "Bu simge, sınırlayıcıyı null byte ('\ 0') ile üzerine yazarak sonlandırılır." –