[FUG-BR] C/C++
Ricardo Nabinger Sanchez
rnsanchez em gmail.com
Quarta Fevereiro 21 10:31:29 BRT 2007
On Wed, 21 Feb 2007 10:46:18 +0000
Rodrigo Ferreira <rsferreira em vipway.com.br> wrote:
> eu sei que 1 erro é que ele não esta encontrando o conio.h, mais eu não
> consegui localizar ele.
>
> Alguem poderia me dar um help para tentar compilar isso?
conio.h significa "Console I/O", e acho que só os compiladores da Borland
oferecem isso. Não tem pra UNIX (que eu saiba), embora seja só uma questão de
fazer. O mais apropriado é tu identificar o que tu realmente usa na conio.h
e ver se encontra similares na stdio.h, stdlib.h e unistd.h. Se não
encontrar, pode ser que seja algo muito "MS-DOS".
Como sugestão, dê uma olhada na biblioteca ncurses (google ncurses), que
provavelmente terá todas as funcionalidades que tu busca de console, além de
ser altamente portável.
A parte mais difícil, de longe, será aceitar a transição abrupta de telas DOS
para terminais TTY UNIX (não "pode" mais escrever diretamente na memória de
vídeo). :)
Últimas dicas: em UNIX, getch() existe como getc(), na stdio.h. Os includes
em geral tu não fará com o caminho absoluto, apenas "#include <stdio.h>",
pois tu não tem certeza de como o usuário instalou o compilador dele (ie, os
arquivos .h podem estar em /usr/local/gcc-4.1.1/include ou algum outro
diretório que ele tenha inventado). Caso o compilador não encontre os
arquivos, tu inclui diretórios de busca com "-I/usr/local/gcc-4.1.1 -I.", por
exemplo. gcc(1) tem mais detalhes.
Função main() em UNIX precisa retornar int. Isso é convenção.
Teu programa ficaria assim:
====================
#include <stdio.h>
int main()
{
puts("Alo Mundo");
/* getc() requer um FILE* como parâmetro, stdin é a entrada padrão */
getc(stdin);
/* programas UNIX costumam retornar 0 em caso de sucesso, e outro valor
qualquer para indicar que houve erro -- a critério do programador */
return 0;
}
====================
--
Ricardo Nabinger Sanchez <rnsanchez@{gmail.com,wait4.org}>
Powered by FreeBSD
"Left to themselves, things tend to go from bad to worse."
Mais detalhes sobre a lista de discussão freebsd