definir los argumentos de una función de manera dinamica

Iniciado por fafafa01, 2 Julio 2016, 07:18 AM

0 Miembros y 1 Visitante están viendo este tema.

fafafa01

hay alguna forma de poder definir los argumentos de una función de manera dinámica como con argc y **argv, de manera que uno guarde la cantidad de parámetros que se ingreso y con la otra la información.saludos.

class_OpenGL

#1
Si que hay una manera, pero es muy complicada... lo que tienes que hacer es... lo mismo que en la función main XDD (Es broma lo de difícil). Aquí tienes un ejemplo:

#include <stdio.h>

void procesar_argumentos(int num_argumentos, char *argumentos[]);

int main() {
    char *argumentos[3] = {"Argumento1", "Argumento2", "Argumento3"};

    procesar_argumentos(3, argumentos); // 3 porque es el número de elementos

    return 0;
}

void procesar_argumentos(int num_argumentos, char *argumentos[]) {
    int i;

    for(i = 0; i < num_argumentos; i++)
        fprintf(stdout, "%s\n", argumentos[i]);
}

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL

MAFUS

Eso en caso que los argumentos sean del mismo tipo.
Para poder usar argumentos de cualquier tipo se debe usar la libreriat stdargs.