Passando parâmetros com getopt
Publicado por Andre Luiz da Silva 02/05/2004
[ Hits: 12.041 ]
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;
}
Funções de soma e subtração de matrizes alocadas dinamicamente
Como verificar a validade de um CPF
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Usando dracut e dispensando genkernel no Gentoo + LUKS + Btrfs
Curso GRÁTIS: OCS Inventory NG - Do Deploy ao Hardening com foco em Segurança da Informação!
Instalando fontes via script no Nautilus Scripts no Gnome do Debian 13
O que houve com slackware ??? (3)
Pendrive do Ubuntu 24.04 travando ao tentar fazer a instalação dual bo... (5)









