Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    98

    Problema acquisizione array caratteri da tastiera

    Ciao raga...come mai ho dei problemi se cerco di acquisire array di caratteri (da tastiera) in questo modo?
    codice:
    void main()
    {
        char* a=" ";
        char* b;
     
        cout << "Esempio swap array caratteri" << endl;
        cout << "Inserisci il valore della prima stringa:" <<  endl;    
        cin >> a;
        cout << "Inserisci il valore della seconda stringa:" << endl;
        cin >> b;
        
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: Problema acquisizione array caratteri da tastiera

    Originariamente inviato da sccc
    codice:
        char* a=" ";
        char* b;
     
        cout << "Esempio swap array caratteri" << endl;
        cout << "Inserisci il valore della prima stringa:" <<  endl;    
        cin >> a;
        cout << "Inserisci il valore della seconda stringa:" << endl;
        cin >> b;
    Sbagliatissimo. 'a' e 'b' sono dei puntatori .... a cosa puntano?? Il puntatore 'a' punta ad una stringa "literal" di 1 carattere e NON si deve andare a scrivere su una stringa literal. 'b' non si sa a cosa punta.

    Se devi "depositare" dei caratteri all'indirizzo puntato da un puntatore devi assicurarti che ci sia della memoria sufficiente e scrivibile a quel indirizzo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    98
    ah...mi sa ke ho sbagliato qualcosa...allora scusa, se volessi usare dei puntatori come stavo cercando di fare, come potrei correggere il codice per farlo funionare?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da sccc
    ah...mi sa ke ho sbagliato qualcosa...allora scusa, se volessi usare dei puntatori come stavo cercando di fare, come potrei correggere il codice per farlo funionare?
    Se proprio vuoi usare un puntatore (perché ci sono anche altri modi):

    codice:
    char *a;
    
    a = new char[30];
    cin.getline (a, 30);
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    98
    ah ok, adesso ho capito come funziona...scusa se ne approfitto, ma secondo te qual è il modo migliore visto che ce ne sono anche degli altri?

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