Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Binni
    Registrato dal
    Aug 2012
    Messaggi
    17

    [C] Contare elementi di una struct

    Ciao ragazzi ho un piccolo problema con un programma.
    Dopo aver salvato nella struttura "playlist" i dati inerenti a titoli autori e generi, devo visualizzare il numero di canzoni appartenenti ad un determinato genere.
    avevo pensato d'inserire in un vettore tutti i generi presenti per poi controllare le canzoni però mi da problemi..
    la funzione è : http://pastebin.com/6R7rNtr6

    mi da due problemi:
    alla riga 13:[Warning] passing argument 1 of 'strncmp' makes pointer from integer without a cast [enabled by default];
    e alla riga 23 [Warning] passing argument 1 of 'strncmp' makes pointer from integer without a cast [enabled by default]

    Grazie!
    Declare Variables, Not War

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

    ciao

    Secondo un mio parere personale , il codice dovrebbe essere postato sul forum e non
    linkato , perchè dovrei andare a visitare un altro sito , quando basta un copia incolla



    vet[k] , vet è un semplice array di char , se specifichi un indice , in quel indice può contenere
    esclusivamente un char , o valore corrispondente .

    se tenti di inserire nell'indice qualcosa di diverso è bene che ti dia un errore

    strncpy si aspetta come argomenti , due puntatori a char , e un intero
    quindi non dovresti indicare l'indice di vet ma dare il puntatore al suo primo elemento
    strncpy(vet,...........)

    se play[i].generi è qualcosa di diverso , da un array o matrice di char , stai passando alla
    funzione qualcosa , che non si aspetta e non vuole !


    se si potesse sapere come è fatto il tipo playlist , sarebbe più facile capire il problema
    e darti soluzioni concrete , ma immagino sia top secret
    Tecnologia

  3. #3
    Utente di HTML.it L'avatar di Binni
    Registrato dal
    Aug 2012
    Messaggi
    17

    Re: ciao

    LOL! avevo pensato di scriverlo prima ma mi sono dimenticato
    typedef struct {
    char titoli[DIM];
    char autori[DIM];
    char generi[10];
    }playlist;


    Originariamente inviato da torn24

    se tenti di inserire nell'indice qualcosa di diverso è bene che ti dia un errore

    strncpy si aspetta come argomenti , due puntatori a char , e un intero
    quindi non dovresti indicare l'indice di vet ma dare il puntatore al suo primo elemento
    strncpy(vet,...........)
    Inserirlo nell'indice? io cerco di inserirlo nella casella d'array corrispondente all'indice,non è così?
    stessa cosa per la strncpy, come faccio a confrontare i successivi se do solo il puntatore al primo elemento?
    Declare Variables, Not War

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Probabilmente stai facendo confusione tra un array di char e un array di stringhe ...

    vet

    è un semplice array di char (quindi una singola stringa) mentre tu pensi che sia un array di stringhe (ovvero tante stringhe).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di Binni
    Registrato dal
    Aug 2012
    Messaggi
    17
    Originariamente inviato da oregon
    Probabilmente stai facendo confusione tra un array di char e un array di stringhe ...
    Essi, hai centrato a pieno il mio problema!
    ho risolto con "vet[][]"
    però modificando l'assegnazione finale non capisco un problema:
    "vet[j] = play[i].generi;
    incompatible types when assigning to type 'char[20]' from type 'char *'"

    ho provato aggiungendo il "*" a play ma non funziona, aiuto!
    Declare Variables, Not War

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Le stringhe non si copiano con il simbolo = ma tramite la funzione strcpy
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di Binni
    Registrato dal
    Aug 2012
    Messaggi
    17
    Grazie Oregon!ora funziona
    perdonate la mia "nabbitudine"
    Declare Variables, Not War

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.