Como a maioria das pessoas devem saber, a função gets é uma função que pode representar uma vulnerabilidade no codigo do programa, pensando nisso eu criei uma função basica, para fazer o papel do gets , usando fgets so que não grava a quebra de linha como o fgets costuma fazer.
- Código:
#include <string.h>
#include <stdio.h>
#define S_GET(p) sget( p, sizeof( p ) )
void sget(char *str,size_t x){
fgets(str,x,stdin);
fflush(stdin);
int s = strlen(str)-1;
if(str[s] == '\n')
str[s] = '\0';
}
// Uso:
int main(){
char teste[20];
printf("Digite algo: ");
S_GET(teste);
printf("%s\n",teste);
return 0;
}