Funções com número variável de argumentos
Publicado por Fabio Junior Sabai 23/11/2004
[ Hits: 7.328 ]
Uma grande facilidade que a linguagem C oferece mas poucas pessoas conhecem (na verdade todas conhecem, mas poucas sabem como usar) são as funções com número variável de argumentos. A função printf é um exemplo. Para usar esta facilidade existem as funções do arquivo stdarg.h. No trecho de código a seguir mostro um exemplo do uso dessas funções. É simples, mas dá pra se ter uma idéia e adaptar para suas necessidades.
#include <stdio.h> #include <stdarg.h> void function(int n_args, ...) { va_list args; va_start(args, n_args); int i = 4; while ( i-- ) printf("%s\n", va_arg(args, char *)); n_args -= 4; while ( n_args-- > 0 ) printf("%d\n", va_arg(args, int)); va_end(args); } main() { function(9, "ola mundo", "hello world", "hola mundo", "bonjour monde", 11, 12, 10, 27, 14); function(3, "slackware", "linux", "10.0"); function(8, "linux", "kernel", "final", "version", 2, 6, 8, 1); }
S. MarioBros - Editor de fase 0.1
AIMG-mostrar imagem fraquimentada em pontos aleatórios
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (25)
Impressora Canon Ip 1800 (Drivers) 64 bit (1)
Erro ao converter string para inteiro (6)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba