* GUIDELINES:
* - Look at main(): it calls various functions.
* - You are asked to implement two functions: str_cpy() and str_cat(). No need
* to implement str_printf() and str_free()
* - Reading main() carefully will allow to understand str_cpy() and str_cat()
* signature and usage.
* - The code you write needs to be "library quality"; as good as you would
* expect a good libc to implement such functions.
* - At the top of the page, you see 4 includes - indicating the functions that
* can be used to implement str_cpy() and str_cat().
* - You have 15 minutes to implement the whole solution.
*
* FYI: it is possible to implement str_cpy() and str_cat() efficiently in no
* more than 7 lines of code per function, and in less than 5 minutes.
*
*/
Code:
#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, " Mundo");
    str_printf(&s, "%s!", s);
    puts(s); /* result: "Hola Mundo!" */
    str_free(&s);
    return 0;
}

Last edited by shabbir; 7Aug2012 at 13:30.. Reason: Code blocks