Задача на языке С

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Zima
Сообщения: 3
Зарегистрирован: 03 сен 2013, 13:23

Привет! Может, кому-то удастся это сделать :) ))
Мой приятель уже получил приз за решение задачи. Авторы платят каждому, кто смог, а также тем, кто их рекомендовал.
Правда, это не так просто, как кажется на первый взгляд - без подсказки единицы справляются.
Вот инструкция:

• Посмотрите на main(). Там вызываются различные функции. От вас требуется имплементировать str_cpy() и str_cat(). Функции str_printf() и str_free() имплементитовать не надо.
• Прочтите внимательно main(), чтобы понять прототип и использование str_cpy() и str_cat().
• Код, написанный вами, должен соответствовать по качеству библиотечному коду, как в хорошей имплементации libc.
• Обратите внимание на 4 заголовочных файла перед функцией main. Вы можете использовать функции, описанные в этих файлах, в своей реализации str_cpy() и str_cat().

• Отправьте решение задачи по адресу challengeru@hola.org .
• Замечание: эффективная реализация функций str_cpy и str_cat умещается в 7 строк кода на функцию.

Код: Выделить всё

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>

int main(int argc, char *argv[])
{
    char *s = NULL;
    str_cpy(&s, "Hola Hola");
    str_cpy(&s, s+5);
    str_cat(&s, " World");
    str_printf(&s, "%s!", s);
    puts(s); /* result: "Hola World!" */
    str_free(&s);
    return 0;
}
Ответить