[c] Creazione di variabili da una stringa
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Pag 1 di 2 12 UltimoUltimo
Visualizzazione risultati da 1 a 15 di 18

Discussione: [c] Creazione di variabili da una stringa

Cambio titolo
  1. #1
    MGS3 L'avatar di TheFury88
    Registrato il
    01-06
    Località
    Ferrara
    Messaggi
    1.194

    [c] Creazione di variabili da una stringa

    Volevo chiedervi come si fa a dichiarare una variabile che prenda il suo nome da una stringa, cioè:

    const char * a = "Buzzo";

    vorrei sapere come, partendo dalla variabile a, posso ottenere ad esempio:
    la variabile Buzzo di tipo intero.
    In pratica, invece di essere io che scrivo fisicamente la variabile voglio che il nome della variabile venga preso da stringa.
    Grazie!
    'Tutto ciò che è necessario per il trionfo del male, è che gli uomini di bene non facciano nulla'. (Edmund Burke)
    peer 2 peer anonimo

  2. #2
    developing... L'avatar di Slimmy
    Registrato il
    07-03
    Località
    NSApplication
    Messaggi
    6.417
    Non credo sia possibile a meno che non costruisci una struct fatta apposta...
    Con poi una funzione fatta apposta per crearla..

  3. #3
    MGS3 L'avatar di TheFury88
    Registrato il
    01-06
    Località
    Ferrara
    Messaggi
    1.194
    Uff...
    In tal caso cosa mi consiglieresti per creare dinamicamente una nuova variabile ogni volta che il programma riceve un determinato input?
    Coi vettori saprei fare ma ho bisogno di allocare lo spazio dinamicamente, anche perchè altrimenti consumerei parecchia RAM anche per una azione da niente...

    EDIT: pensandoci bene l'idea della struct non è male. Penso che per ora provarò con quella.
    'Tutto ciò che è necessario per il trionfo del male, è che gli uomini di bene non facciano nulla'. (Edmund Burke)
    peer 2 peer anonimo

  4. #4
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.310
    non puoi introdurre nuove variabili in quel modo. al massimo puoi usare i puntatori e l'allocazione dinamica della memoria con malloc (o new se usi c++).

    ma perché devi fare una cosa del genere?

  5. #5
    Utente L'avatar di Giulios123
    Registrato il
    05-04
    Località
    Tra sogno e realtà
    Messaggi
    746
    da quanto ne so in php è fattibilissimo.. in c nn credo! mi disp!


  6. #6
    l' oscuro nemico L'avatar di morgoth90
    Registrato il
    05-06
    Località
    C LikeLandia
    Messaggi
    2.275
    devi farti una struttura di dati dinamica



    ESISTE UN UNICO AMMINISTRATORE


  7. #7
    MGS3 L'avatar di TheFury88
    Registrato il
    01-06
    Località
    Ferrara
    Messaggi
    1.194
    Citazione devilheart Visualizza Messaggio
    non puoi introdurre nuove variabili in quel modo. al massimo puoi usare i puntatori e l'allocazione dinamica della memoria con malloc (o new se usi c++).

    ma perché devi fare una cosa del genere?
    Voglio importare dei modelli dal formato .obj, che come saprete puo contenere diversi modelli con diversi materiali, ideale per costruire una scena, ma visto che non so quanti vertici contiene un modello e quanti modelli contiene una scena, devo allocare memoria di volta in volta quando leggendo il file incontro un nuovo modello, nuovi vertici ecc...

    Citazione Giulios123 Visualizza Messaggio
    da quanto ne so in php è fattibilissimo.. in c nn credo! mi disp!
    Purtroppo il php non è famoso per la sua vapacità e velocità nell'uso delle opengl.
    Purtroppo se intendi gli array con indice alfanumerico in c hai ragione, ancora non esistono...

    Citazione morgoth90 Visualizza Messaggio
    devi farti una struttura di dati dinamica
    Intanto che aspettavo le vostre risposte ho già iniziato a farla.

    Codice:
    typedef struct SCENA * modScena;        // pr spostarsi tra un modello e l'altro
    typedef struct SCENA * scena;
    
    // struttura per una scena formata da più modelli
    struct SCENA
    {
        modScena precedente;            // modello precedente della scena
        modello Modello;                // istanza della struttura che contiene un modello
        modScena successivo;            // modello successivo della scena
    };
    e cosè ho anche rispettato il regolamento spero vi possa essere utile!
    ovviamente ho iniziato a creare anche alcune funzione, se volete le inserisco.
    'Tutto ciò che è necessario per il trionfo del male, è che gli uomini di bene non facciano nulla'. (Edmund Burke)
    peer 2 peer anonimo

  8. #8
    developing... L'avatar di Slimmy
    Registrato il
    07-03
    Località
    NSApplication
    Messaggi
    6.417
    Una lista annidata... ma ti interessa in particolare la lettura?
    Una lista può essere lenta da scandire... ci sono altre strutture dati veloci..

  9. #9
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.310
    Citazione TheFury88 Visualizza Messaggio
    Voglio importare dei modelli dal formato .obj, che come saprete puo contenere diversi modelli con diversi materiali, ideale per costruire una scena, ma visto che non so quanti vertici contiene un modello e quanti modelli contiene una scena, devo allocare memoria di volta in volta quando leggendo il file incontro un nuovo modello, nuovi vertici ecc...
    se nel file c'è scritto quanti modelli ha una scena e quanti vertici ha un modello puoi anche usare una cosa del tipo
    Codice:
    SCENA dati[n]
    dove n è un numero che determini a tempo di esecuzione, altrimenti devi usare una lista. puoi anche risparmiarti quei typedef
    Ultima modifica di devilheart; 26-06-2008 alle 16:19:59

  10. #10
    MGS3 L'avatar di TheFury88
    Registrato il
    01-06
    Località
    Ferrara
    Messaggi
    1.194
    Citazione Slimmy Visualizza Messaggio
    Una lista annidata... ma ti interessa in particolare la lettura?
    Una lista può essere lenta da scandire... ci sono altre strutture dati veloci..
    Mi interessa leggere i dati da file, memorizzarli nella lista e leggere dalla lista per renderizzare i vertici con opengl. Quale struttura consiglieresti per fare ciò?

    Citazione devilheart Visualizza Messaggio
    se nel file c'è scritto quanti modelli ha una scena e quanti vertici ha un modello puoi anche usare una cosa del tipo
    Codice:
    SCENA dati[n]
    dove n è un numero che determini a tempo di esecuzione, altrimenti devi usare una lista. puoi anche risparmiarti quei typedef
    No ppurtroppo no...
    La struttura del file è:

    Codice:
    # Blender3D v246 OBJ File: liv_1.blend
    # www.blender3d.org
    mtllib liv_1_Scene.mtl
    o Plane.001
    v 0.000000 3.000000 -0.000000
    ..........................................
    vertici
    ..........................................
    v 1.500000 2.598077 0.000000
    vn 0.866026 -0.500000 0.000000
    ..........................................
    normali
    ..........................................
    vn -1.000000 0.000000 0.000000
    usemtl Material.001
    s off
    f 38//1 37//1 40//1
    ...........................................
    facce
    ...........................................
    f 1//24 3//24 2//24
    o Plane
    v 5.000000 0.000000 -0.000000
    -------------------------------
    vertici
    ...........................................
    v 3.830223 -3.213938 -0.000000
    vn 0.642787 0.766045 0.000000
    ..............................
    normali
    ............................
    vn 0.000000 -1.000000 0.000000
    usemtl (null)
    s off
    f 78//25 77//25 80//25
    .............................
    facce
    ............................
    f 41//45 43//45 42//45
    quindi come vedi so cosa incontro solo quando leggo l'inizio di una riga
    'Tutto ciò che è necessario per il trionfo del male, è che gli uomini di bene non facciano nulla'. (Edmund Burke)
    peer 2 peer anonimo

  11. #11
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.310
    allora devi usare una lista

  12. #12
    MGS3 L'avatar di TheFury88
    Registrato il
    01-06
    Località
    Ferrara
    Messaggi
    1.194
    Stavo pensando di creare un array della struttura vertici di lunghezza, ad esempio 100, o comunque una lunghezza superiore al numero massimo di vertici di un singolo modello, e poi di creare una lista ordinata di vertici, dove l'ordine è dato dalle facce. Tutto questo durante il "caricamento", così a runtime dovrei solo passare attraverso una lista ordinata di vertici e una lista di modelli.
    'Tutto ciò che è necessario per il trionfo del male, è che gli uomini di bene non facciano nulla'. (Edmund Burke)
    peer 2 peer anonimo

  13. #13
    developing... L'avatar di Slimmy
    Registrato il
    07-03
    Località
    NSApplication
    Messaggi
    6.417
    il metodo più semplice è una lista.
    Se ho capito bene probabilmente di una lista annidata
    (cioè una lista con a sua volta come variabile (tra le altre necessarie) un'altra lista)
    Realizzare una lista linkata (singola o doppia) è il metodo più semplice..
    Le prestazioni in lettura però non saranno elevate se ti interessa accedere ad preciso elemento.. però per iniziare può andare bene...se invece ti interessa poi scorrerla tutta allora direi che è la scelta giusta..

    Sto pensando ad altre strutture dati ma mi sembra che la lista sia la migliore (heap, grafi, alberi, dizionari, tabelle hash... sono solo quelle che mi ricordo..e mi sembra che non vadano bene per questo problema..)

  14. #14
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.310
    per accessi diretti puoi usare una tabella hash con gli indirizzi

  15. #15
    MGS3 L'avatar di TheFury88
    Registrato il
    01-06
    Località
    Ferrara
    Messaggi
    1.194
    Però da quanto ho letto, qer come le uso io le liste hanno la stessa complessità c delle tabelle, cioè 1.
    Infatti io leggerei gli elementi in ordine da 0 a n-1.
    'Tutto ciò che è necessario per il trionfo del male, è che gli uomini di bene non facciano nulla'. (Edmund Burke)
    peer 2 peer anonimo

Pag 1 di 2 12 UltimoUltimo

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •