Am de facut o biblioteca pentru implementarea unor alternative ale functiilor : strcat , strcpy , strlen si gets pentru citirea sirului de caractere . Functiile din biblioteca trebuie sa efectueze controale pentru a evita depasirea buffer-ului si pentru a se asigura că toate sirurile de caractere sunt null-terminate după fiecare operație.
Am gasit cateva prototipuri ale acestor functii pe internet si le-am combinat in urmatorul program,dar nu cred ca e bine.
#include <stdio.h>
#include <assert.h>
char* strcat(char * str1, const char * str2)
{
assert((str1!= NULL) && (str2!= NULL));
char *temp1 = str1;
while (*temp1 ++ = '\0')
temp1 -- ;
while ((*temp1 ++ = *str2 ++) != '/0')
return str1;
}
char *strcpy (char * strDest, const char * strSrc)
{
assert ((strSrc!= NULL) && (strDest!= NULL));
while (* strSrc != '/0')
* strDest ++ = *strSrc ++;
* strDest = '/0';
return strDest;
}
int strlen(char *str)
{
assert(str != NULL);
int length = 0;
while (*str ++ != '/0')
length ++;
return length;
}
int main()
{
char str[80];
strcpy (str,"nu ");
strcat (str,"imi ");
strcat (str,"functioneaza ");
strcat (str,"programul.");
strlen(str);
printf("%s",str);
return 0;
}
p.s sunt nou in domeniul acesta al programarii.
