Еще одна лекция от @fmira

Еще одна лекция от @fmira

ft_printf(fmira).pdf

Запись лекции

https://www.youtube.com/watch?v=YDKI8B59Z50

Длинные макароны по floatски от @blavonne

https://www.youtube.com/watch?v=lch7xcrCIlQ&feature=youtu.be

Графические материалы

Здесь информация о том, что принимает принтф. Чтобы увеличить картинку - нажмите на нее.

Здесь информация о том, что принимает принтф. Чтобы увеличить картинку - нажмите на нее.

В каком порядке выполнять эти задачи - дело ваше, но рекомендуем выполнять последовательно, как на блок схеме.

В каком порядке выполнять эти задачи - дело ваше, но рекомендуем выполнять последовательно, как на блок схеме.

Блок схема и ссылки на полезные материалы

  1. Синтаксис строки форматирования на Википедии
  2. Про stdarg.h, va_arg, va_start и т.д.

Блок схема подробно описана в записи лекции, начиная с 11-12 минуты.

Блок схема подробно описана в записи лекции, начиная с 11-12 минуты.

Пример дерева проекта. У вас состав файлов и папок может отличаться.

Пример дерева проекта. У вас состав файлов и папок может отличаться.

Небольшой бонус - пример использования битовых & и | для обработки флагов

Сразу скажу, что этот пример взят не из ft_printf и служит просто для ознакомления. Скачайте и потеребонькайте код руками, изменяйте параметры. Если разберетесь с этим, то поймете, где и как можно использовать эти операции;)

/* ************************************************************************** */
/*                                                                            */
/*                                                        :::      ::::::::   */
/*   bit.c                                              :+:      :+:    :+:   */
/*                                                    +:+ +:+         +:+     */
/*   By: zkerriga <[email protected]>          +#+  +:+       +#+        */
/*                                                +#+#+#+#+#+   +#+           */
/*   Created: 2020/07/05 00:30:28 by zkerriga          #+#    #+#             */
/*   Updated: 2020/07/05 00:59:17 by zkerriga         ###   ########.fr       */
/*                                                                            */
/* ************************************************************************** */

#include <stdio.h>

# define FLG_NONE	0b00000000
# define FLG_ONE	0b00000001
# define FLG_TWO	0b00000010
# define FLG_THREE	0b00000100
# define FLG_FOUR	0b00001000

int main()
{
	unsigned char	flags;

	flags = FLG_NONE;
	if (flags & FLG_ONE)
		printf("[-] FLG_ONE exist\\n");
	else
		printf("[+] FLG_ONE not exist\\n");

	flags = flags | FLG_ONE;
	if (flags & FLG_ONE)
		printf("[+] FLG_ONE exist\\n");
	else
		printf("[-] FLG_ONE not exist\\n");

	flags = flags | FLG_TWO;
	if ((flags & FLG_ONE) && (flags & FLG_TWO))
		printf("[+] FLG_ONE and FLG_TWO exist\\n");
	else
		printf("[-] FLG_ONE or FLG_TWO not exist\\n");

	flags = flags & (~FLG_TWO);
	if ((flags & FLG_ONE) && (flags & FLG_TWO))
		printf("[-] FLG_ONE and FLG_TWO exist\\n");
	else
		printf("[+] FLG_ONE or FLG_TWO not exist\\n");
	
	return (0);
}