sscanf()
C stdio sscanf() funksiyasi
Misol
Stringdan sonni ajratib oling:
char number[] = "24 hours";
int num;
sscanf(number, "%d", &num);
printf("%d\n", num);
Ta’rif va qo‘llanilishi
sscanf() funksiyasi char massividan ma’lumotlarni o‘qiydi va ularni argumentlar ko‘rsatgan xotira joylariga yozadi.
sscanf() funksiyasi <stdio.h> sarlavha faylida aniqlangan.
format parametri fayldan kutilayotgan ma’lumotlar formatini tavsiflovchi stringdir. Agar massiv tarkibi formatga mos kelmasa, funksiya birinchi nomuvofiqlik yuz bergan joyda o‘qishni to‘xtatadi.
format stringi ma’lumotlarning qaysi qismlari argumentlarga yozilishi kerakligini belgilovchi format spetsifikatorlarini o‘z ichiga olishi mumkin. Har bir format spetsifikatori funksiyaning qo‘shimcha argumentlaridan biriga mos keladi. Format spetsifikatorlari haqida batafsil ma’lumotni scanf() ma’lumotnoma sahifasida topishingiz mumkin.
Sintaksis
sscanf(char * source, const char * format, arg1, arg2...);
Parametr qiymatlari
| Parametr | Tavsif |
|---|---|
| source | Majburiy. Ma’lumotlar manbai sifatida ishlatiladigan char massivi. |
| format | Majburiy. Massivdan kutilayotgan ma’lumotlar formatini ifodalovchi string. |
| arg1, arg2... | Ixtiyoriy. Qiymatlar yozilishi mumkin bo‘lgan xotiraga ko‘rsatkich bo‘lgan istalgan miqdordagi qo‘shimcha argumentlar. |
Texnik tafsilotlar
| Qaytaradi: | Qiymat yozilgan argumentlar sonini ifodalovchi int qiymat. Xato yuz bergan bo‘lsa, EOF konstantasini qaytaradi. |
|---|
Ko‘proq misollar
Misol
"1 + 2 = 3" ketma-ketligidan sonlarni ajratib oling:
int a, b, c;
char source[] = "1 + 2 = 3";
sscanf(source, "%i + %i = %i", &a, &b, &c);
printf("a = %d \n", a);
printf("b = %d \n", b);
printf("c = %d \n", c);
Misol
O‘n oltilik sonni o‘qing va uning qiymatini o‘nlik ko‘rinishda chiqaring:
int num;
char hex[] = "FFAD01";
sscanf(hex, "%x", &num);
printf("%d", num);
Misol
Foydalanuvchi kiritgan ma’lumotda "x", "y" yoki "z" belgisini qidiring:
char c;
char source[] = "yes";
int found = sscanf(source, "%[xyz]", &c);
if(found > 0) {
printf("Found %c", c);
} else {
printf("Character not found");
}
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
