Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - stampa stringa help !!!
Forum - C/C++ - stampa stringa help !!!

Avatar
scrikkiolina (Normal User)
Newbie


Messaggi: 3
Iscritto: 20/09/2007

Segnala al moderatore
Postato alle 18:15
Giovedì, 20/09/2007
ciao.. una volta riempito un array con delle stringhe non riesco a stamparle tramite printf("%s"); come posso fare ???
...
char **lettere;
...
lettere = calloc(m, sizeof(char *));
...
for(i = 1; (i <= n) && (i <= m); i++)
printf("Coefficiente %d:\t%d\t%s\n\n", i, valori, lettere);

grazie !!!!

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 23:40
Giovedì, 20/09/2007
Ma cosi' allochi semplicemente m puntatori per m stringhe, ma non vedo l'allocazione delle stringhe ...

E non puoi usare il doppio puntatore nella printf ...

Forse, nno ti e' chiaro qualcosa riguardo a stringhe e puntatori ...

Fai vedere il codice che utilizzi per "riempire" le stringhe e indica cosa ti aspetti che venga visualizzato ...

PM Quote
Avatar
scrikkiolina (Normal User)
Newbie


Messaggi: 3
Iscritto: 20/09/2007

Segnala al moderatore
Postato alle 10:46
Venerdì, 21/09/2007
/* dichiarazione vettori */

char **lettere;

/* allocazione dinamica */
lettere = calloc(m, sizeof(char *));

/* riempimento */
int riempimento()
{
    while ((conta_valori <= n) && (conta_fattori <= m))
    {
            printf("\nInserisci il termine  numero %d del polinomio scelto preceduto dal segno:\t", conta_valori);
            scanf("%d", &valori[conta_valori]);
            printf("\nInserisci la parte letterale del termine numero %d:\t", conta_fattori);
            scanf("%s", &lettere[conta_fattori]);
            controllo();
    }
    return (0);    
}            


/* stampa */

int stampa_contenuto()
{
    int i;
    
    printf ("\n\nNel vettore sono presenti i seguenti COEFFICIENTI:\n");
    for(i = 1; (i <= n) && (i <= m); i++)
    {
        printf("Coefficiente %d:\t%d\t%c\n\n", i, valori [ i], lettere [ i]);
                
    }
            
    return (0);
}

nella printf della funziona stampa... se metto %s non mi stampa nulla !!! è li il mio problema
per info... xxx

Pierotofy: evitiamo di scrivere cose tipo "per info: miaemail@provider.lt", siamo in un forum, informazioni e risposte vanno postate qui.

Ultima modifica effettuata da pierotofy il 21/09/2007 alle 15:31
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 15:48
Venerdì, 21/09/2007
Noto una certa confusione, suggerisco di ripassare il capitolo sui puntatori e sugli array di stringhe.

Testo quotato

Postato originariamente da scrikkiolina:

/* dichiarazione vettori */

char **lettere;

/* allocazione dinamica */
lettere = calloc(m, sizeof(char *));



Qui allochi solamente m puntatori a char, non allochi la memoria per contenere le stringhe.

Testo quotato


nella printf della funziona stampa... se metto %s non mi stampa nulla !!!



Forse perchè non c'è nulla, non avendo allocato lo spazio di memoria precedentemente. Potrei anche sbagliarmi comunque, non ho fatto analisi approfondite.


Il mio blog: https://piero.dev
PM Quote
Avatar
scrikkiolina (Normal User)
Newbie


Messaggi: 3
Iscritto: 20/09/2007

Segnala al moderatore
Postato alle 16:15
Venerdì, 21/09/2007
ma se io nella printf scrivo %c mi stampa tutto cio che inserisco...
+4 a
-12 c
...
nel caso.. potresti tu darmi qualche dritta.. ?

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 13:41
Sabato, 22/09/2007
Hai ripassato il capitolo sui puntatori e sugli array di stringhe? Una volta che l'hai fatto hai provato a riscrivere il codice? Ora funziona? Se no, postalo.


Il mio blog: https://piero.dev
PM Quote