Convertire una stringa in minuscolo[C]

di Anonimizzato20305 il
8 risposte
Salve ragazzi,una domanda davvero sciocca.

Sto facendo un programma dove l'utente deve inserire una stringa e questa
deve essere convertita in minuscolo.La mia idea è quella di utilizzare la funzione tolower(),ma mi chiedevo se esiste
un modo o un'altra funzione per convertire direttamente l'intera stringa ,oppure devo per forze convertire ad uno ad uno ogni
singolo carattere utlizzando magari un for o un while ecc.

8 Risposte

  • Usa un ciclo for
  • E' l'unico modo?
  • Anche con un while
  • Scusami,forse mi sono espresso male.Cioè si ho capito,utilizzare un for o un while è equivalente.Quello che voglio
    dire è: non esiste una funzione,libreria, che converta "direttamente" l'intera stringa?

    Faccio un esempio che non centra ma rende l'idea.
    Giusto per spiegarmi una stringa può essere "stampata" un carattere alla volta con un for e un'istruzione printf al suo
    interno che a ogni iterazione successiva stampata il singolo carattere successivo, oppure con la funzione puts()
    della libreria <string.h>

    I due metodi fanno esattamente la stessa cosa, ma puts è immediato.
  • Puts è una funzione al cui interno c'è un ciclo for che visualizza carattere per carattere.

    Non esiste funzione standard già pronta per fare la stessa cosa per il maiuscolo, ma la puoi scrivere tu facilmente.
  • Capito.Grazie mille
  • Molti compilatori offrono le funzioni strlwr() e strupr() o altri equivalenti, che tuttavia, come già rimarcato dal nostro ottimo Oregon, non sono parte della libreria standard.
  • #include <stdio.h>
    #include <stdlib.h>

    int main(int argc, char***argv[])
    {

    /** BASTA AGGIUNGERE 32 al carattere se è MAIUSCOLO per trasformarlo in minuscolo **/

    printf(" 'a' -> in maiuscolo: %c \n", 'a'-32);


    return 0;
    }
Devi accedere o registrarti per scrivere nel forum
8 risposte