Sic Parvis Magna

5 Ağustos 2024 Pazartesi

C/CPP - Fonksiyonlar ve Kullanım Yöntemleri #2

Ağustos 05, 2024 Posted by unexpected , , No comments

scanf

Formatlanmış olarak bir input yapılır. Başarı durumunda okuduğu input sayısını dönderir. Her hangi bir hata durumda ise ferror veya feof dönderir.

Syntax
int scanf(const char* format, ...);

Params

  • format: String Değeri
  • varargs: Array Değeri
example.cpp
#include <stdio.h>

int main(int argc, char** argv)
{
	char ch[5];
	int i = 0, wi = 0, count = 0;
	
	count = scanf("%s %d", &ch, &i);
	printf("Chars: %s Int: %d Count: %d\n", ch, i, count);
	
	return 0;
}

sscanf

Verilen bir src kaynağındaki veriyi formatlanmış olarak bir input alır ve bu veriyi belirlenen değişkenlere atama yapılır. Başarı durumunda ise okunan değer sayısını döner. Başarısız -1 değeri döner

Syntax
int sscanf(const char* src, const char* format, ...);

Params

  • src: Buffer değer
  • format: String değeri
  • varargs: Array değeri
example.cpp
#include <stdio.h>

int main(int argc, char** argv)
{
	char buf[50];
	int cx, num;
	float pi;
	
	const char* ch = "Hello_World! 21 3.14";
	cx = sscanf(ch, "%s %d %f", buf, &num, &pi);
	printf("cx: %d - buf: %s - num: %d - pi: %f\n", cx, buf, num, pi);
	
	return 0;
}

fscanf

Formatlanmış bir metni dosya veya standart input output'dan olur. Başarı durumunda okuduğu input sayısını dönderir. Her hangi bir hata durumda ise ferror ve feof dönderir.

Syntax
int fscanf(FILE* file, const char* format, ...);
  • file: Stream akışı
  • format: String değeri
  • varargs: Array değeri
example.cpp
#include <stdio.h>

int main(int argc, char** argv)
{
	/// 0 - stdin  - Standart Input
    /// 1 - stdout - Standart Output
    /// 2 - stderr - Standart Error
	
	char buf[50];
	int fs;
	
	fs = fscanf(stdin, "%s", &buf);
	printf("fs: %d - buf: %s", fs, buf);
	
	return 0;
}
Specifier Output Example
%d or %i Signed Decimal Integer 392
%u Unsigned Decimal Integer 7235
%o Unsigned Octal 610
%x Unsigned Hexadecimal Integer 7fa
%X Unsigned Hexadecimal Integer (Uppercase) 7Fa
%f Decimal Floating Point (Lowercase) 392.65
%F Decimal Floating Point (Uppercase) 392.65
%e Scientific Notation (Mantissa/Exponent) (Lowercase) 3.9265e+2
%E Scientific Notation (Mantissa/Exponent) (Uppercase) 3.9265e+2
%g Use the shortest representation: %e or %f 392.65
%G Use the shortest representation: %E or %F 392.65
%a Hexadecimal Floating Point (Lowercase) -0xc.90fep-2
%A Hexadecimal Floating Point (Uppercase) -0XC.90FEP-2
%c Character a
%s String of Characters sample
%p Pointer Address b8000000
%n Nothing Printed
%% % Karakteri %

0 comments:

Yorum Gönder