Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    19

    Memset su campo di una struct [C]

    avendo la seguente struttura

    typedef struct{
    char pippo[30];
    int rif_file[31];
    } rec_tab_ric;

    rec_tab_ric tabric[100];

    Vorrei settare a zero il campo dei bit di rif_file di ogni struttura presente nell'array di strutture tabric.

    Per questo mi serve la memset ma non so come dare i parametri.... Sapete darmi una mano? grazie in anticipo!

  2. #2
    codice:
    int counter;
    for(counter=0; counter<sizeof(tabric)/sizeof(rec_tab_ric);counter++)
        memset(tabric[counter].rif_file,0,sizeof(tabric[counter].rif_file));
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    19
    Perchè fai:

    int counter;
    for(counter=0; counter<sizeof(tabric)/sizeof(rec_tab_ric);counter++) ??

    il contatore non dovrebbe andare da 0 a 100?Dico questo perchè gli elementi dell'array sono appunto 100.
    cioè io metterei :

    int counter;
    for(counter=0; counter<100;counter++)
    memset(tabric[counter].rif_file,0,sizeof(tabric[counter].rif_file);

    se te mi hai indirizzato nell'altra maniera sicuramente ho detto una boiata ma mi sapresti spiegare il perchè?
    In ogni modo ti ringrazio per la tua veloce risposta.

  4. #4
    Ho inserito sizeof(tabric)/sizeof(rec_tab_ric) invece di inserire direttamente 100 perché in questa maniera, se cambierai la dimensione dell'array in futuro, il programma ciclerà comunque su tutti gli elementi dell'array (sizeof(tabric)/sizeof(rec_tab_ric) infatti risulta sempre uguale al numero di elementi di tabric).
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    19
    grazie! sei stato gentilissimo ed esplicativo


  6. #6
    Prego; ciao!
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.