Stampa del numero di caratteri con "printf()"

di il
6 risposte

Stampa del numero di caratteri con "printf()"

Ciao a tutti!!! È la prima volta che scrivo nel forum,quindi perdonatemi se sbaglio qualcosa!
Come da titolo vorrei sapere come fare,per stampare a video il numero di caratteri compresi nella stringa della funzione printf,se possibile...ad esempio "printf("ciao"),ha 4 caratteri,vorrei stampare a video una cosa del tipo "Ciao - 4 char"....Grazie in anticipo!

6 Risposte

  • Re: Stampa del numero di caratteri con "printf()"

    La stringa che vuoi stampare a video è statica o vorresti metterla runtime e attendere un output?
  • Re: Stampa del numero di caratteri con "printf()"

    Scusami ma sono un principiante alle prime armi,ma comunque credo sia statica perchè praticamente è cosi la storia,io ho 4 printf,ognuna con la sua bella stringa e quindi con i suoi caratteri,e per ogni printf oltre a stampare a video la stringa "abc" vorrei anche includere il numero di caratteri della propia stringa! Quindi direi statica...
  • Re: Stampa del numero di caratteri con "printf()"

    Ti ho scritto due righe di codice:
    
    #include <stdio.h>
    
    int main ()
    {
        char *string;
        char c;
        int count = 0;
        
        string = (char *)malloc(1024*sizeof(char));
        string = "ciao";
        
        
        do
        {
            c=string[count];
            count++;
        }while(c != '\0');
        
        printf("Stringa: %s Numero lettere: %d.\n\n", string, count-1);
        printf("Premere un tasto per terminare il programma.\n");
        getchar();
        return (0);
    }
    Ho messo una sola stringa, puoi aggiungerne altre in modo statico...non so se è quello che intendevi.
  • Re: Stampa del numero di caratteri con "printf()"

    Allora,intanto grazie mille!!! Si diciamo che sembra essere ciò che cerco,anche se mi sembra un metodo "troppo avanti" per dove siamo arrivati ora a lezione! Ad esempio la funzione "do" non l'abbiamo ancora vista...! La prof mi aveva parlato di una "scan printf" ma io sinceramente non ho trovato nulla sul suo utilizzo! Cmq si è questo quello ke cerco pressapoco,ho tre stringhe e oltre alla stringa stessa devo stampare anche il numero di caratteri contenuti nella stringa!
  • Re: Stampa del numero di caratteri con "printf()"

    La malloc non serve a niente, anzi ti mangi il puntatore
    
       s=malloc
       s="ciao"
    
    
    #include <stdio.h>
    
    int main ()
    {
        static char s[]="Ciao Mondo!";
        unsigned long l;
    
        // 1
        l=sizeof(s)-1;
        printf ("%lu\n",l);
    
        // 2
        for (l=0;*(s+l);l++);
        printf ("%lu\n",l);
    
        // 3
        #include <string.h>
        l=strlen(s);
        printf ("%lu\n",l);
    
        return 0;
    }
    
    
    edit:
    aggiungo questa:
    
        ...
        // 4
        l=printf ("%s",s);
        printf ("%lu\n",l);
        ...
    
  • Re: Stampa del numero di caratteri con "printf()"

    Uao! Allora si l'obiettivo è centrato...ah non ho precisato che io programmo esclusivamente in linguaggio C ancora,e non C++,e i puntatori ancora non li abbiamo trattati come argomento,credo li inizieremo la prossima settimana! Quindi sono a un livello che dire "basilare" è farmi un complimento!

    L'esercizio:
    #include <stdio.h>

    int main()
    {

    double pigreco = 3.141592653589793238462643383279502884197169399375105820974944592; /*Le prime 64 cifre decimali di "pigreco" che ovviamente non riusciro a stampare tutte a video,o almeno IO non ne sono capace! */
    float pigreco2 = 3.14159264;
    int pigreco3 = 3.141592653589793238462643383279502884197169399375105820974944592;
    long int pigreco4 = 3.141592653589793238462643383279502884197169399375105820974944592;
    char pigreco5 = 3.141592653589793238462643383279502884197169399375105820974944592;
    char stringa[100];
    printf("La variabile \"double\" di pigreco vale circa = %+18.16f\n\n",pigreco);
    sprintf(stringa,"La variabile \"double\" di pigreco vale circa = %+18.16f\n\n",pigreco);
    printf("La variabile \"double\" in notazione esponenziale vale circa = %e\n\n",pigreco);
    printf("La variabile \"float\" di pigreco vale circa = %+8.7f\n\n",pigreco2);
    printf("La variabile \"int\" di pigreco vale circa = %+4.3d\n\n",pigreco3);
    printf("La variabile \"int\" in notazione ottale di pigreco vale circa = %+o\n\n",pigreco3);
    printf("La variabile \"long int\" di pigreco vale circa = %d\n\n",pigreco4);
    printf("La variabile \"char\" di pigreco vale circa = %c\n\n",pigreco5); /*Con affetto per voi */






    system("pause");
    return 0;

    }

    Praticamente dovevamo provare le varie funzioni (int,double,float,ecc) e i vari comandi di conversioni con campo minimo,precisione segno ecc...e oltre questo per ogni stringa stampare a video i caratteri in essa contenuti!
Devi accedere o registrarti per scrivere nel forum
6 risposte