뇌 마음 반반저장소

[42_ft_printf] 시작하며 본문

42/ft_printf

[42_ft_printf] 시작하며

맹진저 2022. 12. 16. 21:28
728x90

Chapter I

Introduction

You will discover a popular and versatile C function: printf(). This exercise is a great opportunity to improve your programming skills. It is of moderate difficulty.

너는 다용도로 사용하는 인기 있는 함수 printf를 알게 될 것이다. : 이 엑서사이즈는 프로그래밍 기술을 향상해주는 좋은 기회이다. 이는 적당한 난이도이다. 

 

You will discover variadic functions in C.

C에서 가변함수들을 알게 될 것이다.

The key to a successful ft_printf is a well-structured and extensible code.

이 프로젝트 성공의 열쇠는 '잘 구성된' 그리고 '확장 가능한 코드'이다.

 

💡Once this assignment passed, you will be allowed to add your ft_printf() to your libft so you can use it in your school C projects.

이 과제가 통과되면, 너는 학교에서 C 코드를 할 때 사용할 수 있도록 너의 libft에 추가할 수 있다!

 

Chapter II

Common Instructions

👇아래의 포스팅과 동일한 내용입니다!👇

[42_libft] 시작하며

Chapter III

Mandatory part

Program name 프로그램이름
libftprintf.a

Turn in files 반환파일
Makefile, *.h, */*.h, *.c, */*.c

Makefile
NAME, all, clean, fclean, re

External functs. 사용가능한 함수
malloc, free, write, va_start, va_arg, va_copy, va_end

Libft authorized
Yes
libft 사용가능

Description 설명
Write a library that contains ft_printf(), a function that will mimic the original printf()
원본 printf()를 모방할 함수인 ft_printf()가 포함된 라이브러리를 작성합니다.

You have to recode the printf() function from libc.

당신은 libc에서 printf() 함수를 재코딩해야 합니다.


The prototype of ft_printf() is:

ft_printf()의 프로토타입은 다음과 같습니다.

int	ft_printf(const char *, ...);

 

ft_printf..  Because ft_putnbr() and ft_putstr() aren’t enough!

ft_printf.. 왜냐하면 ft_putnbr()와 ft_putstr()만으로는 충분하지 않으니까! (유우머인가;;;)


Here are the requirements:

요구 사항은 다음과 같습니다.
• Don’t implement the buffer management of the original printf().

• 원본 printf()의 버퍼 관리를 구현하지 마십시오.
• Your function has to handle the following conversions: cspdiuxX%

• 함수는 다음 변환을 처리해야 합니다. cspdiuxX%
• Your function will be compared against the original printf().

• 당신의 기능은 원래의 printf()와 비교될 것입니다.
• You must use the command ar to create your library. Using the libtool command is forbidden.

• 라이브러리를 만들려면 명령어를 사용해야 합니다. libtool 명령은 사용할 수 없습니다.
• Your libftprintf.a has to be created at the root of your repository.

• libftprintf.a는 저장소의 루트에 생성되어야 합니다.


You have to implement the following conversions:

다음 변환을 구현해야 합니다.
• %c Prints a single character.

 %c 단일 문자를 인쇄합니다.
• %s Prints a string (as defined by the common C convention).

 %s 일반적인 C 규칙에 정의된 대로 문자열을 인쇄합니다.
• %p The void * pointer argument has to be printed in hexadecimal format.

 %p void * 포인터 인수는 16진수 형식으로 인쇄해야 합니다.
• %d Prints a decimal (base 10) number.

 %d 10진수(기준 10)를 인쇄합니다.
• %i Prints an integer in base 10.

 %i 밑줄 10에 정수를 인쇄합니다.
• %u Prints an unsigned decimal (base 10) number.

 %u 부호 없는 10진수(기준 10)를 인쇄합니다.
• %x Prints a number in hexadecimal (base 16) lowercase format.

 %x 숫자를 16진수(기준 16) 소문자 형식으로 인쇄합니다.
• %X Prints a number in hexadecimal (base 16) uppercase format.

 %X 16진수(기본 16) 대문자 형식으로 숫자를 인쇄합니다.
• %% Prints a percent sign.
 %% 퍼센트 기호를 인쇄합니다.

 

728x90
Comments