Após a pesquisa, parece que o ascii do EOF é -1
, mas como posso echo
descobrir isso?
Meu objetivo é testar se ele se comporta da mesma forma que pressionar ctrl-d
se eu echo
sair EOF
.
Não há como ecoar um EOF. Um EOF só pode ser gerado atingindo o final de um arquivo ou invocando o pressionamento de tecla associado à eof
configuração do terminal ( CtrlDpor padrão) quando o arquivo que está sendo lido está vinculado ao terminal.
EOF
definido como-1
em stdio.h? por que não podemos repetir se conhecemos seu valor ascii?int
com o valor de -1 (ou 4294967295 se considerarmos a versão não assinada) não pode ser um caractere de qualquer maneira, pois os caracteres podem ter apenas um valor de 0 a 255, inclusive.int
em primeiro lugar?fgetc(3)
página de manual.No bash, você pode escrever
exec 1>&-
para fechar o descritor de arquivo conhecido como stdout.Como Ignacio já disse, EOF não é um personagem, então a questão de como "ecoar EOF" não faz nenhum sentido em primeiro lugar. Você pode repetir caracteres (bytes) ou fechar um descritor de arquivo, mas nunca repetir um EOF.
fonte