Após a pesquisa, parece que o ascii do EOF é -1, mas como posso echodescobrir isso?
Meu objetivo é testar se ele se comporta da mesma forma que pressionar ctrl-dse eu echosair EOF.
Após a pesquisa, parece que o ascii do EOF é -1, mas como posso echodescobrir isso?
Meu objetivo é testar se ele se comporta da mesma forma que pressionar ctrl-dse eu echosair EOF.
Respostas:
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 à eofconfiguração do terminal ( CtrlDpor padrão) quando o arquivo que está sendo lido está vinculado ao terminal.
intcom 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.
intem 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.
EOFdefinido como-1em stdio.h? por que não podemos repetir se conhecemos seu valor ascii?