C'de Bir Dize Nasıl Okunur

C'de Bir Dize Nasıl Okunur? C programlama dili, gerçek bir dize veri türü sağlamaz. C'de bir dize, NULL ile biten bir karakter dizisi tarafından öykünülür. Böyle bir dizi, statik olarak veya bir işaretçi olarak bildirilebilir. Standart C, karakter dizilerini veya C dizilerini işlemek için birçok işlev sağlar. Bu makale, girdi akışından ve dosyalardan okuyan işlevlere odaklanmaktadır. C'de bir dizenin nasıl okunacağını öğrenmek için bu ipuçlarını izleyin.

Aşama 1

Temel bilgileri anlayın. Bir C dizesi, bir tür grafiği dizisidir. Tüm C dizilerinde olduğu gibi, ilk eleman 0'da ve son eleman "dize uzunluğu eksi 1" olarak indekslenir. Genellikle, derleyici son konuma NULL ekler, böylece dize "dizenin uzunluğu eksi 1"i tutabilir. elementler. Null, tamsayı biçiminde 0x00'a ve karakter biçiminde '\0'a eşdeğerdir. Öğelere "[]" operatörü tarafından erişilir. Adım 2 bu kavramları göstermektedir.

Günün Videosu

Adım 2

Bu öğreticinin işlevlerini kullanmadan önce herhangi bir kaynak dosyaya aşağıdaki "include yönergesini" ekleyin:

#include < stdio.h >

Aşama 3

Bir C dizesi bildirin. Aşağıdaki kod, statik ve işaretçi yöntemini kullanan bir bildirimi gösterir:

// statik bildirim char str[50] = {0}; // tüm elemanları 0'a başlatmanın kestirme yolu // str[49] NULL'dur // str 48 karakterlik kapasiteye sahiptir // işaretçi karakter ile bildirim pStr = BOŞ; // bellek ayırma yok pStr = (char)malloc (50); // bu "malloc()" tarafından yapılır

4. Adım

Standarttan boşlukla ayrılmış bir dizi diziyi okuyan "scanf()" kullanarak verileri bir C dizisine okuyun girin ve bunları bir "biçim"e göre uygun referans değişkenlerine ait adreslere yerleştirir. sicim":

int n; printf("Adınızı ve Yaşınızı giriniz: "); scanf("%s%d", str, &n); // printf("Adınız %s ve siz %d yaşındasınız\n", str, n);

Adım 5

Verileri yalnızca standart girdiden bir dizeye okuyan daha basit "gets()" işlevini kullanarak verileri bir C dizesine koyun:

printf("Soyadinizi giriniz: "); alır (str); printf("Adınız %s\n", str);

6. Adım

"fscanf()" kullanarak dosya verilerini bir C dizesine okuyun; bu işlev "scanf()" işlevine benzer:

DOSYA* pDosya; pFile = fopen("dosyam.txt", "r"); // dosyanın var olduğunu ve veriye sahip olduğunu varsayalım if (NULL != pFile) { fscanf (pFile, "%s", str); printf("Dosyadaki ilk kelime %s\n", str); fclose (pFile); }

7. Adım

"gets()" ile aynı şekilde çalışan "fgets()" kullanarak Adım 5'i tekrarlayın:

DOSYA* pDosya; pFile = fopen("dosyam.txt", "r"); if (NULL != pFile) { fgets (pFile, str); printf("Dosyadaki ilk kelime %s\n", str); fclose (pFile); }

İhtiyacınız Olan Şeyler

  • C/C++ IDE veya C derleyicisi

  • Brian W.'nin "C Programlama Dili" gibi C üzerine kitap. Kernigan

Bahsedilen işlevler hakkında daha fazla bilgi edinmek için C Plus Plus web sitesini ziyaret edin.

Uyarı

Bu kodu derlemeye çalışmayın. Sadece işlevleri göstermek içindir. Tutarlı bir program değildir ve derlendiğinde hata verecektir.