Função fgets [RESOLVIDO]

25. Re: Função fgets [RESOLVIDO]

ian cléver sales fernandes
ianclever

(usa Arch Linux)

Enviado em 04/11/2013 - 15:11h

bem sendo assim a função mais curta mesmo pra fazer isso fica sendo a mesma coisa da sua, com pequenas variações, mas muitissimo parecida nem compensa postar....


  


26. Re: Função fgets [RESOLVIDO]

ian cléver sales fernandes
ianclever

(usa Arch Linux)

Enviado em 14/12/2013 - 15:23h

dei mais uma enxugada, agora está bem menor, só que limitado a stdin, vejam:


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

char *new_gets()
{
char *str;
int tam,ch;
ch=getchar();
ungetc(ch,stdin);
tam=strlen(stdin->_IO_read_base);
str=(char *)malloc(sizeof(char)*(++tam));
str[tam]='\ 0';
strcpy(str,stdin->_IO_read_base);
return str;
}
int main(void)
{
char *p;
p=new_gets();
printf("\n%s",p);
free(p);
return 0;
}


assim o buffer continua sujo e assim não:


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

char *new_gets()
{
char *str;
int tam,ch;
ch=getchar();
ungetc(ch,stdin);
tam=strlen(stdin->_IO_read_base);
str=(char *)malloc(sizeof(char)*(++tam));
str[tam]='\ 0';
fgets(str,tam,stdin);
return str;
}
int main(void)
{
char *p;
p=new_gets();
printf("\n%s",p);
free(p);
return 0;
}




01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts