Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683

    c++ assegnare valori a stringhe

    ciao a tutti... come faccio ad assegnare una parola ad una stringa? io di solito facevo il cin>>s e la inseriva l'utente ma se volessi metterla da programma tipo: s=ciao come si dovrebbe scrivere??? e se volessi inserire sia parole che variabili? perchè devo fare una formula statistica che non posso scriverla come una normale formula tipo x=...(formula)... perchè a seconda di quanti numeri si inserisce la formula cambia... quindi dovrei tipo fare una cosa così: s=(x-v[i]) com'è la sintassi per questi inserimenti?? grazie.. (uso borland se può servire)

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Usi la string del C++ ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326

    Re: c++ assegnare valori a stringhe

    Originariamente inviato da iacoposk8
    ma se volessi metterla da programma tipo: s=ciao come si dovrebbe scrivere??? e se volessi inserire sia parole che variabili?
    Ti servono stringhe in cui scrivere sia variabili che altre stringhe? Se ho ben capito, penso che la classe stringstream faccia al caso tuo.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    intendi la classe string? no.. io uso la stringa intesa come un array di char

    ora do un occhiata alla stringstream

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    non ci capisco una cippa mi potete fare un esempio?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Mi sa che dovresti spiegare tu qualcosa di più a noi...

    Sei "costretto" (per qualche motivo) ad utilizzare array di caratteri (stile C) per le stringhe o puoi utilizzare qualche classe apposita del C++ ?

    Inoltre, ti servono stringhe nelle quali salvare sia variabili che altre stringhe?

    Prova un po' questo e facci sapere se è quello che vuoi tu ^^"

    codice:
    #include <sstream>
    #include <iostream>
    using namespace std;
    
    int main() {
    
         int variabile1 = 3320;
         float variabile2 = 28.11;
    
         char saluto[] = "ciao";
    
         stringstream s; //dichiaro un oggetto di classe stringstream
    
         /*
         *  la classe stringstream fornisce un modo per trattare delle stringhe
         *  associate ad uno stream di input/output
         */
    
         //metto variabili e stringhe nello stream associato alla stringa, come
         //se le volessi scrivere a video ma invece di inserirle nello stream associato
         //al video (cout) utilizzo quello relativo alla stringa che ho appena dichiarato (s)
    
         s << variabile1 <<  variabile2 << " " << saluto << "fine della stringa";
    
         //stampo la stringa associata allo stream facendomela restituire
         //col metodo str()
         cout << s.str() << endl;
    
         return 0;
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    questo direi che è perfetto... se durante questo programma sorge qualche problema vi chiedo ancora.. per ora grazie siete stati gentilissimi

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    il problema è insorto.. siccome volevo fare un vettore di srtuct con dentro delle stringhe ho fatto così:
    codice:
    #include<conio.h>
    #include<iostream.h>
    #include<stdio.h>
    #include <vcl.h>
    #include <sstream>
    using namespace std;
    struct str
    {
            stringstream s;
    };
    main()
    {
            int x[50], y[50], i, d, part[50];
            struct str ss;
            do
            {
                    cout<<"quante x e quante y vuoi inserire? ";
                    cin>>d;
                    if(d<2 || d>50)
                            cout<<"puoi solo inserire numeri da 2 a 50"<<endl;
            }
            while(d<2 || d>50);
            for(i=0;i<d;i++)
            {
                    printf("inserisci x%d",i+1);
                    cin>>x[i];
            }
            for(i=0;i<d;i++)
            {
                    printf("inserisci y%d",i+1);
                    cin>>y[i];
            }
            ss.s<<"("<<"x"<<"-"<<x[0]<<")";
            cout<<ss.s;
            getch();
    }
    teoricamente dovrebbe stampare (x-(valore dell'array))
    cos'è che non torna?

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da iacoposk8
    intendi la classe string? no.. io uso la stringa intesa come un array di char
    E perche' mai usi le stringhe del C. se programmi in C++ ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Originariamente inviato da iacoposk8

    codice:
            ...
            ss.s<<"("<<"x"<<"-"<<x[0]<<")";
            cout<<ss.s.str();
            getch();
    }
    Se non richiami il metodo str() sullo stream non stampi la stringa ad esso associata, ma un indirizzo...

    Comunque scusa ma perché ricorri alla libreria stdio.h per quella printf? iostream non ti basta? ^^"

    E poi... perché dichiari una struttura con un unico campo? Se ti serve un array di stringstream puoi anche dichiarare semplicemente

    codice:
    stringstream array[50];
    e avrai un array di cui ogni elemento è una classe stringstream...

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