Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Stringhe e puntatori in C++

  1. #1

    Stringhe e puntatori in C++

    Salve, esperti!
    Voglio, tramite l'utilizzo di puntatori, stampare solo alcuni caratteri di una stringa (es. voglio stampare solo la prima vocale di una parola).
    Ecco, io quando utilizzo i puntatori per stampare il singolo carattere che mi serve, mi da la stampa di quel carattere e successivi fino la fine della stringa.
    Come devo fare invece per stampare SOLTANTO quello?

    Grazie in anticipo, amici!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,192
    Tu come fai?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Ciao, oregon! Io faccio così (es. per la prima vocale incontrata)
    Solo che se per esempio metto la stringa PARCO anzichè stamparmi solo la A mi stampa ARCO.

    codice:
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char** argv) {
        
        int i;
        char stringa[30] = "tntonio";
        char *puntatore;
        
        
        for (i=0;i<30;i++) {
            if ( (stringa[i] == 'a') || (stringa[i] == 'e') || (stringa[i] == 'i') || (stringa[i] == 'o') || (stringa[i] == 'u')    ) {
                puntatore = &stringa[i];
                cout << "La prima vocale incontrata e' " << *puntatore << " ed il suo indirizzo e' " << puntatore;
                break;
            }
            
        }
        
        return 0;
    }

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,192
    La cout deve essere

    codice:
    cout << "La prima vocale incontrata e' " << *puntatore << " ed il suo indirizzo e' " << static_cast<void*>(puntatore);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Cioè... oregon... SEI UN GENIO!!
    Spettacolare, funziona alla grande! Ti adoro, credimi!! GRAZIEEEE!

    Ascolta, non ci sono altri metodi? Dato che il prof. questi argomenti ancora non li ho affrontati, non abbiamo mai fatto nulla con le parentesi angolari (credo siano i template, giusto?).

    E cmq... grazie mille ancora! Buona serata!

  6. #6
    Se magari c'è un altro tipo di casting... più... semplice!

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,192
    Non c'è niente di geniale, sono sole le basi del linguaggio che potresti conoscere anche tu ...

    In questo caso puoi scrivere semplicemente

    (void *)puntatore
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    perfetto, non mi resta che ringraziarti ancora una volta. sei davvero umile quanto bravo.
    ascolta, ultimissima cosa... e se volessi stampare il valore null? perchè spesso quando cerco di farlo sembra vada in crash.
    perchè mi serve per un esercizio che se non trova un carattere, la funzione mi deve ritornare il puntatore NULL.
    ...e poi ho finito di scocciarti! )

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,192
    Quote Originariamente inviata da easytechno Visualizza il messaggio
    se volessi stampare il valore null? perchè spesso quando cerco di farlo sembra vada in crash.
    Ovviamente se tenti di accedere tramite puntatore NULL devi avere un crash.

    Non puoi scrivere

    *puntatore

    se puntatore è NULL.

    Il resto della domanda non l'ho compresa pienamente ... se devi restituire un puntatore NULL da una funzione basta scrivere

    return NULL;
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2018 vBulletin Solutions, Inc. All rights reserved.