Spiegazione funzione strlen

di il
9 risposte

Spiegazione funzione strlen

Non riesco a trovare niente in rete che mi spieghi l'uso di questa funzione (o per lo meno che mi spieghi come scrivere questa funzione).


Nello specifico dovrei memorizzare la lunghezza della stringa letta in input , in una variabile len.

Io ho capito che la funzione strlen serve a memorizzare la lunghezza della stringa.

Ho fatto bene a scrivere il programma cosi?

#include <stdio.h>
#include <string.h>


int main()
{
	char stringa[50];

	printf("Digita la tua stringa : ");
	scanf("%s", stringa);
	int len;										//lunghezza stringa
	
    size_t strlen(const char *stringa);
	

			

return 0;
}

9 Risposte

  • Re: Spiegazione funzione strlen

    No ... devi chiamare la funzione che restituisce il valore, come per tutte le funzioni ...

    len = strlen(stringa);
  • Re: Spiegazione funzione strlen

    oregon ha scritto:


    No ... devi chiamare la funzione che restituisce il valore, come per tutte le funzioni ...

    len = strlen(stringa);

    quindi io vado a dichiare

    int len;

    e poi scrivo che len = stlen(strunga)?? corretto?

    quindi quando devo andare ad utilizzare la funzione strlen , devo scrivere che una costante ( in questo caso chiamata len a tipo int) è uguale alla strlen di stringa (dove per mia supposizione strlen significa lunghezza e quindi vado a dire che la mia cosrante è uguale alla lunghezza della stringa).

    Giusto?
  • Re: Spiegazione funzione strlen

    Len non è una costante ma una variabile
  • Re: Spiegazione funzione strlen

    oregon ha scritto:


    len non è una costante ma una variabile
    giusto , avendola dichiarata len è una variabile. Se avessi messo const len , allora sarebbe stata una costante.

    Per il resto ho capito bene?

    Grazie per l'immediata risposta
  • Re: Spiegazione funzione strlen

    Sì, ma penso dovresti studiare da un libro ... queste cose sono basilari e si imparano sui libri, non sui forum ...

    Se vuoi, puoi anche leggere qualcosa su internet, ad esempio per la strlen

    http://digilander.libero.it/uzappi/C/librerie/funzioni/strlen.html
  • Re: Spiegazione funzione strlen

    oregon ha scritto:


    Sì, ma penso dovresti studiare da un libro ... queste cose sono basilari e si imparano sui libri, non sui forum ...

    Se vuoi, puoi anche leggere qualcosa su internet, ad esempio per la strlen

    http://digilander.libero.it/uzappi/C/librerie/funzioni/strlen.html

    Sto studiando da vari libri, tra cui ansi, però alcune cose o non sono spiegate (come la funzione strlen) oppure sono spiegate non benissimo.

    Io faccio Informatica e ho fatto venerdi scorso esercitazione in classe e il prof ci ha ha dato un esercizio sull'uso dell'artimetica dei puntatori. Stavo provando a svolgerlo ma mi bloccavo in questo punto.

    Penso che per programmare bene , bisogna attuare quello che si studia, sbaglio?
  • Re: Spiegazione funzione strlen

    Beh ... non ti preoccupare, stai iniziando, ma non sottovalutare le nozioni di base. Se non le impari correttamente non andare avanti ma fermati a studiarle nuovamente.

    Ad esempio, se fai confusione tra costanti e variabili e non sai come lavora una funzione, è un grosso problema per la continuazione degli studi. Non potrai affrontare argomenti più "complessi" come i puntatori se il resto non ti è chiaro ...
  • Re: Spiegazione funzione strlen

    oregon ha scritto:


    Beh ... non ti preoccupare, stai iniziando, ma non sottovalutare le nozioni di base. Se non le impari correttamente non andare avanti ma fermati a studiarle nuovamente.

    Ad esempio, se fai confusione tra costanti e variabili e non sai come lavora una funzione, è un grosso problema per la continuazione degli studi. Non potrai affrontare argomenti più "complessi" come i puntatori se il resto non ti è chiaro ...

    Io dovrei averlo capito a livello teorico e anche pratico (anche perchè a lezione il prof ha fatto gia puntatori ed array e il prossimo argomento sarà le strutture dei dati e a breve rilascerà anche il progetto da fare)

    Spiego qui a livello teorico , dimmi se mi sbaglio.

    Allora una variabile (che può essere di tanti tipo : int long char double ecc) è appunto una variabile che può assumere tutti i valori che noi vogliamo. Possiamo anche inizializzarla e farla partire da un certo valore ( esempio la nostra variabile di tipo int che chiamiamo nome la inizializziamo a 5 , quindi scriviamo int nome =5;)

    Mentre una costante è come dice la stessa parola una costante in tutta la funzione. può essere sempre di tipo int ,long char o double , però se la inizializziamo a 5 resterà 5)

    Dovrebbe essere giusto no?

    Inoltre una domanda sulla constante. Intanto si dichiara cosi?
    int const nome ;
    La costante deve necessariamente essere inizializzata o non per forza? se non deve essere per forza inizializzata, che valore assume se scrivo int const nome? assume valore 0?


    Grazie
  • Re: Spiegazione funzione strlen

    Una costante deve essere inizializzata a meno che non sia extern ... ma lo vedrai in seguito ...

    Ora stiamo andando OT ... buono studio.
Devi accedere o registrarti per scrivere nel forum
9 risposte