logo

C'de Strsep() işlevi

Giriiş:

Teller önemli bir bileşenidir programlama çünkü iletişim kurmayı mümkün kılıyorlar kullanıcılar, sonuçları göster ve dosyaları oku . Bunlar bir tür veri giriş ve çıkış mekanizmasıdır. O zamandan beri Teller Oluşturduğumuz programlarda belirli kapasitelerde sürekli olarak kullanılıyor, stringlerin verimli işlenmesi ve onları işleyen fonksiyonlar çok önemli.

Bu eğitimde size sınırlayıcılara bağlı olarak metinleri nasıl böleceğinizi öğreteceğiz. strsep() yöntemi .

üzerinden geçeceğiz giriş Ve çıktı argümanları için strsep() , onun sözdizimi Ve teorik açıklama ve bu bağımsız değişkenlerin her biri için izin verilen veri türleri.

Daha sonra öğrendiklerimizi kod parçacıklarını ve grafikleri kullanarak dizeleri parçalamak için uygulamaya koyuyoruz. strsep() yöntemi , pratik örneklerde gösterilmiştir.

C Dilinde Strsep() İşlev Sözdizimi:

 char *strsep(char **restrict stringp, const char *restrict delim); 

C'deki Strsep() fonksiyonunun açıklaması:

  • A sicim kullanılarak parçalanır. strsep() işlevi , önceden belirlenmiş bir sınırlayıcıyla başlayarak.
  • sicim tarafından işaret edilmiştir dize girişi bağımsız değişken bu işlev tarafından bölünür ve parçalar daha sonra tümü boş karakterle biten yeni dizeler oluşturmak üzere birleştirilir.
  • Her yeni dize şu noktada başlar: adres çıkış işaretçisi tarafından verilir ve burada sona erer. sınırlayıcı tarafından belirtilen paylaşırım Ve strsep() Bir sınırlayıcı bulunduğunda işlev, yeni dizenin sonunu belirtmek için onu boş bir karakterle değiştirir.
  • dize işaretçisi işlev çağrısından geri döndüğünde sınırlayıcı karakter keşfedildikten sonra parçanın başlangıcında otomatik olarak ayarlanır. dize işaretçisi Artık aşağıdaki işlev çağrısında sonraki parçayı elde etmeye hazır. Değin strsep() sınırlayıcılar biter ve boş bir işaretçi döndürür. Sonuç olarak her aramada bu işlem tekrarlanır.

Bu işlevin, sınırlayıcıların yerine boş karakterleri koyarak giriş metnini geri dönülemez şekilde değiştirdiğini belirtmek önemlidir. 'string.h' başlığı tanımını içerir strsep() işlevi . Onu ve diğer string yönetim fonksiyonlarını kullanabilmek için onu kodumuza aşağıdaki şekilde dahil etmeliyiz:

 #include 

Bir Dizeyi Birkaç Parçaya Bölmek için C Dilinin Strsep() İşlevi Nasıl Kullanılır

Bu örnekte, ifade 'Programlamaya başlayalım' bir dize olarak oluşturulur ve içeriği kullanılarak parçalara ayrılır. strsep() işlevi . Yeni oluşturulan dizelerin her biri daha sonra ayrı bir satırda üretilir. komut terminali . ile işaret edilen dize tel giriş parametresi kelime kelime bölünmüştür çünkü sınırlayıcı giriş argümanında kullandığımız sınırlayıcı boşluk karakteri ('') .

algoritma derinliği ilk arama

beyan ederiz 'günah' metinle birlikte dize 'Programlamaya başlayalım' ve 'in_Ptr' işaretçisi içinde ana işlev . strsep() fonksiyonunun stringp'si giriş argümanı bu işaretçidir.

Olarak giriş argümanını sınırla için strsep() yöntemi ve belirlenmiş sınırlayıcı karakteri, ayrıca şunu beyan ederiz: 'dize del' boşluk karakteriyle. Daha sonra ilan ederiz 'o_Ptr' işaretçisi olarak kullanılan strsep()'in çıktı argümanı . printf() yöntemi kurtarılan parçayı komut konsolunda görüntülemek için bu işaretçiyi bir giriş argümanı olarak kullanacaktır.

Bundan sonra, tedarik ettikten sonra dizenin ilk argüman olarak 'in_Ptr' işaretçiyi ikinci parametre olarak kullanın ve 'o_Ptr' işaretçisi çıktı argümanı olarak şunu çağırıyoruz: strsep() işlevi . Bu çağrı bir içeride yapılır döngü sırasında artık sınırlayıcının bulunmadığı kaçış koşuluyla strsep() şunu döndürür: bir boş işaretçi.

Bu örneğin kodu aşağıdaki gibidir:

 #include #include int main() { char s_in[50] = 'Let's start programming '; char del[20] = ' '; char* in_Ptr = s_in; char* o_Ptr; while ((o_Ptr = strsep(&in_Ptr, del)) != NULL) { printf('%s
', o_Ptr); } return 0; } 

Strsep() böler 'günah' dize kelime kelime, her seferinde yeni bir dize üretir ve bu daha sonra aşağıda gösterildiği gibi komut konsolunda yeni bir satırda görüntülenir;

Çıktı:

bir panda serisinin özellikleri
 Let's start programming 

Çözüm

Bu yazıda stringleri kullanarak stringlerin nasıl işleneceğini gösterdik. strsep() işlevi belirtilen işlevlerden biri 'dize.h' başlık. Bunun teorik gerekçesini konuştuk. sözdizimi, çağırma tekniği , Ve operasyon . Ek olarak, her girdi ve çıktı argümanının kabul ettiği veri türünü gösterdik.