int printf ( const
char *format, …)
; функциясы қолданылады, ол сәтті аяқталғанда
шығарылатын мәліметтердің бірлік санын, кері жағдайда – EOF қайтарады.
format параметрі шығару форматтарының спецификациясы бар форматталған
жол болып табылады. Форматтау жолынан кейін болатын аргументтер
типтері мен саны форматтау жолында көрсетілген шығару форматтарының
саны мен типіне сәйкес келуі тиіс.
Жалпы жағдайда шығару форматының спецификациясы мынадай
болады:
%[флаг] [ені] [.дәлдігі] [модификаторлар] типі,
мұндағы,
- ‘флаг’ – шығару форматын нақтылайтын әртүрлі символдар;
- ‘ені’ – берілген спецификациясы бойынша шығарылатын минималды
символдар саны;
- ‘дәлдігі’ шығарылатын символдардың максималды санын анықтайды;
- ‘модификаторлар’ аргументтер типін нақтылайды;
- ‘тип’ аргумент типін анықтайды.
6.5.1 Жолдарды форматтау
scanf және printf функцияларына сәйкесінше жолдарды форматтауға
арналған
sscanf
және
sprintf
функциялары бар.
int sscanf(const char *str, const char *format, …);
функциясы format параметрімен берілген, форматтық жолға сәйкес, str
параметрлерімен берілген жолдан мәліметтерді оқиды. Сәтті орындалған
жағдайда оқылған мәліметтер саны, кері жағдайда – EOF қайтарылады.
Мысалы,
#include
int main() {
char str[] = "a 10 1.2 String No input";
char c; int n; double d; char s[80];
sscanf(str, "%c %d %lf %s", &c, &n, &d, s);
85
printf("%c\n", c);
// а жазады
printf("%d\n", n);
//10 жазады
printf("%f\n", d);
// 1.200000 жазады
printf("%s\n", s);
// String жазады
return 1;
}
int sprintf (char *buffer, const char *format, …)
; функциясы
форматқа сәйкес жазылған жолды форматтайды, ол format параметрімен
берілген және алынған нәтижені buffer символдық массивіне жазады.
Функция buffer символдық массивіне жазылған нольдік байтты алып тастап,
символдар санын қайтарады.
Мысалы,
#include
int main() {
char buffer[80];
char str[] = "c = %c, n = %d, d = %f, s = %s";
char c = 'c'; int n = 10; double d = 1.2;
char s[] = "This is a string.";
sprintf(buffer, str, c, n, d, s);
printf("%s\n", buffer); return 1;
}
Нәтижесінде,
c = c, n = 10, d = 1.200000, s = This is a string
Жолдарды сандық мәліметтерге түрлендірудің функциялар прототиптері
stdlib.h тақырыптық файлында келтірілген.
Жолды бүтін санға түрлендіру үшін
Достарыңызбен бөлісу: |