Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stddef.h>
- #include <stdio.h>
- #include <stdlib.h>
- char *copyString(char *);//Declaração de prototipo de função
- char *copyString(char *source){
- int count=0; char *destination;
- while( (*(source+sizeof(char)*count))!='\0' ){
- destination = realloc(destination, (count+1)*sizeof(char) );
- (*(destination+sizeof(char)*count)) = (*(source+sizeof(char)*count));//<---Faz o programa quebrar quando copyArrayString chama esta função! =3
- count++;
- }
- (*(destination+sizeof(char)*count)) = '\0';//<--Coloca o caracter 'nulo' no final da string
- return destination;
- }
- char **copyArrayString(char **srcArr){//NAO ESTA FUNCIONANDO
- int count=0; char **destArr;
- while( srcArr!=NULL ){
- destArr = realloc(destArr, sizeof(char*)*2 );
- *destArr = copyString( *srcArr );
- destArr+=count;
- srcArr+=count;
- count++;
- }
- destArr-=(count-1);
- srcArr-=(count-1);
- return destArr;
- }
- void testBlock1(){
- char *src, *dest;
- src="Medicamento Generico";
- dest = copyString(src);
- printf("nome: %s", dest);
- free(dest);
- dest = NULL;
- getchar(); fflush(stdin);
- }
- void testBlock2(){
- char **dest;
- dest = copyArrayString((char *[5]){"Felipe", "Melo", "Ferraz", "Oliveira", NULL});//Nulo é setado automaticamente
- printf("dest[0]: %s\n", *(dest+0));
- printf("dest[1]: %s\n", *(dest+1));
- printf("dest[2]: %s\n", *(dest+2));
- printf("dest[3]: %s\n", *(dest+3));
- printf("dest[4]: %s", *(dest+4));
- getchar(); fflush(stdin);
- }
- int main(int argsc, char **argsv){
- testBlock1();
- //testBlock2();<---Nao funcionando ainda :<
- return 0;
- }
Add Comment
Please, Sign In to add comment