Pergunta

Eu estou apenas começando a programação e passando por K & R para tentar aprender C. Eu comecei a seção sobre os argumentos de linha de comando (5.10), mas agora estou perplexo. Toda vez que eu tento e abrir um programa que eu escrevi com argumentos de linha de comando Disseram-me que o arquivo X, sendo X o argumento, não existe.

`gcc -o encontrar find.c

ensaio aberto achado

O arquivo / Documents / Learning_C / teste não exist.`

Todas as sugestões? Graças

Foi útil?

Solução

O sistema você está? Em Unix / Linux você compilar e executar o seu executável via:

gcc -o find find.c
./find test

Como outros já registou , quando você prefixar o seu binário com "./" , não haverá qualquer conflito de nomeação. No entanto, se você fez find acessível em sua $PATH, você pode ter alguns conflitos com encontrar e teste programas --standard com mais * nix distribuições ... Talvez você pudesse escolher nomes mais específicos (ou seja, ./ MyFind testArg )

Outras dicas

Tente dar sua saída executável um nome diferente.

Eu suspeito que a sua execução o comando find sistema que está à procura de um diretório chamado 'teste'.

Ou tente forçá-lo através da execução

./find toto

Editar: Prepending o ./ ao comando é importante porque diz ao shell para executar a descoberta no diretório atual, em oposição ao primeiro 'encontrar' que existe em seu PATH. é normalmente recomendado que você não tem. (O diretório atual) em seu PATH por razões de segurança.

HTH

P.S. Esqueci de dizer boa para trabalhar com K & R. Acabei de fazer o mesmo depois de trabalhar na C durante trinta anos e foi bom para voltar e refrescar a mente!

Em vez de fazer-nos adivinhar todos individualmente o que exatamente você está fazendo errado, talvez você deve colar o programa que você está usando para a ilustração mencionado?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top