Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30

Discussione: [C] Problema struct

  1. #1

    Problema struct

    Buongiorno ho un problema con le struct. Ho una struct che ha un campo id che io ho dichiarato come array di char anche se erano solo cifre e il programma funziona correttamente.

    Ora lo vado a cambiare ponendolo long (ovviamente modificando tutte le differenze tra un long e un array di char tipo strcpy o gli identificatori dello scanf. Ora però il programma non funziona più perchè viene modificato un campo int sempre all'interno dello stesso struct in modo casuale, ovvero alcuni vengono modificati altri no.

    Qualcuno sà il perchè questo possa succedere? Le funzioni sono sempre le stesse cambiano solo le differenze tra long e char.

  2. #2
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    Qualcuno sà il perchè questo possa succedere?

    Se non fai vedere l'intero programma , magari postando i messaggi di errore che ti da in compilazione ,è difficile che qualcuno ti risponda !

    Da quello che hai detto hai fatto delle modifiche , che secondo te sono corrette , ma non funziona
    Tecnologia

  3. #3
    Non mi da nessun messaggio di errore in compilazione ma tramite printf ho scoperto che mi cambia quell'int in modo incomprensibile. La mia funzione restituisce solo 1 che va ad incrementare l'int ma non sò perchè il programma mi cambia quel valore quando vado a creare qualla struct anche se non la inizializzo

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: ciao

    Originariamente inviato da torn24
    Se non fai vedere l'intero programma ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Purtroppo non posso pubblicare l'intero programma... la funzione crea un istanza di struct aggiungendo un elemento all'array di struct che gli viene passato in input e ritorna 1 che aumenta il valore della int della struct.

    Non ci sono errori mi sembra strano che lo stesso programma con le stesse funzioni funzioni con i char e non con i long(ripeto cambiando tutto quello che c'è da cambiare per questa modifica).

  6. #6
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551
    Se non si può vedere il codice ,sapere cosa deve fare il programma, non si può capire dove possa essere l'errore , quindi l'unica soluzione che risolvi tu , visto che sei il solo , a vedere il codice , e a sapere cosa deve fare

    Non ci sono errori mi sembra strano che lo stesso programma con le stesse funzioni funzioni con i char e non con i long
    Ma tu se qualcuno ti chiedesse quale è il problema di un codice , senza che ti mostri il codice , cosa risponderesti , saresti in grado di aiutarlo !??????
    Tecnologia

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,319

    Moderazione

    Ti è stato chiesto di postare la parte di codice rilevante.
    Ti è stato chiesto anche qui ( http://forum.html.it/forum/showthrea...readid=1545907 ) di postare la parte di codice rilevante.

    Sistematicamente ti rifiuti di fornire gli elementi essenziali (essenziali = se non li fornisci, nessuno ti potrà aiutare) per capire il problema e darti delle soluzioni.

    Ora, vuoi che ti si aiuti? Mettici in condizioni di farlo.
    Continuare in questo modo non è di aiuto né a te, né al forum.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Fra l'altro, se il tuo programma elabora dei dati leggendoli da file, è necessario anche conoscere il contenuto del file di dati con cui lo provi per essere nelle tue stesse condizioni e replicare il problema.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    C'è un motivo per cui non posso pubblicarlo. Io ho scritto tutti gli elementi se non sono a sufficienza non posso farci nulla perchè non posso dire più di quello che ho già detto.

    Ovviamente non chiedo a nessuno di immaginare il programma e darmi una risposta per forza.

    Ho chiesto solo se qualcuno sà perchè succede questa cosa modificando i char con i long

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da davide356
    Ho chiesto solo se qualcuno sà perchè succede questa cosa modificando i char con i long
    Nessuno può sapere una cosa così generica e astratta se non la si cala in un codice concreto.

    Può anche essere che il problema di "corruzione" dei dati avvenisse anche con gli array di char ma che tu non te ne sei accorto perché la parte corrotta della stringa non è utilizzata in un dato momento.
    In un array di char di 30 caratteri, se gli ultimi byte si corrompono, la stringa non ne risente se non occupa tutto lo spazio. Ma in un long di 4 byte, la modifica di un solo byte ne compromette il valore.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.