read () stdin em c?
Tenho uma pequena e rápida pergunta envolvendo o comando read (
Estou muito enferrujado em C e, infelizmente, minha tarefa atual me programa em C. Precisamos ler stdin usando o read () e não fgets e afin
Então eu tenho um loop while simples:
int n, i;
char buffer[257], *input;
while((n=read(fileno(stdin), buffer, 256)) > 0)
{
buffer[n] ='\0';
if(buffer[n] = '\n') break;
write(input, buffer, strlen(buffer));
}
Portanto, não tenho certeza de como fazer esse loop parar ao pressionar enter (fim de linha); é por isso que tenho o código de interrupção, embora não saiba se isso foi feito corretament
Todo o objetivo que estou tentando realizar é colocar a entrada de stdin no ponteiro 'input'
(Sou péssimo em entender os ponteiros, tenha paciência comigo :))
Meu problema é que estou recebendo falhas de segmentação quando pressiono enter. Eu gostaria de poder usar o fgets, porque tudo isso seria resolvido com um simples
input = fgets(buffer, 256, stdin);
Darn lição de casa :( De qualquer forma, se algum de vocês pudesse me apontar na direção certa, eu realmente aprecio isso. Obrigado!