Passando parâmetros com getopt
Publicado por Andre Luiz da Silva 02/05/2004
[ Hits: 12.059 ]
Homepage: http://localhost
Esse é um simples código demonstrando como manipular parâmetros passados para um programa usando a função "getopt".
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
void help()
{
printf ("Olah.... eu sou o a funcao help!");
}
void verbose ()
{
printf ("Olah... eu sou a verbose!! \n");
}
int print (char *file, char *string)
{
FILE *fd;
if ((fd = fopen (file, "w")) == NULL)
{
printf ("fopen(): %s \n", strerror(errno));
exit (1);
}
fprintf (fd, "%s", string);
fclose (fd);
return 0;
}
int opterr = 0;
int main(int argc, char **argv)
{
char *file = NULL, *phase = NULL;
if (argc == 1)
{
printf ("Nao tem argumento! Falowz... \n");
exit (0);
}
while (1)
{
int opt;
opt = getopt (argc, argv, "hvp:f:");
switch (opt)
{
case 'h':
help();
break;
case 'v':
verbose();
break;
case 'p':
phase = optarg;
break;
case 'f':
file = optarg;
break;
}
if (opt == -1)
break;
if (opt == '?')
{
printf ("%c: This option don't exists!\n", optopt);
break;
}
}
if (phase != NULL && file != NULL)
{
print (file, phase);
exit(0);
}
return 0;
}
Crud em C++ orientado a objetos com banco de dados MySQL
Como criar um make.conf no Gentoo (para iniciantes)
Como instalar o Open WebUI para Ollama no Gentoo (com systemd)
INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX
A tragédia silenciosa das distribuições baseadas (ou “agregadas”)
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Acelere a compilação no Gentoo com distcc (guia para Systemd)
ATUALIZAÇÃO DO KERNEL LINUX (2)
[Matemática] o que seria algo mais poderoso do que uma função? [RESOLV... (5)









