Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: [C++] Tipo dati string

  1. #1
    Utente di HTML.it L'avatar di daneel
    Registrato dal
    Oct 2002
    Messaggi
    229

    [C++] Tipo dati string

    Sto imparando il C++.
    In C++ è possibile, inserendo qualche libreria, utilizzare il tipo di dati string (che, a quanto ho capito, in origine non esiste), senza dover dichiarare un array di una certa lunghezza di dati char?
    codice:
    string prova;
    prova="testo della stringa";

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    #include <string>
    using namespace std;

    ...

    string prova("testo della stringa");

  3. #3
    Utente di HTML.it L'avatar di daneel
    Registrato dal
    Oct 2002
    Messaggi
    229
    Ho inserito l'include <string> (con <string.h> il namespace std non esiste).
    Scrivendo
    codice:
    string prova("testo della stringa");
    ricevo i seguenti errori:
    error C2146: syntax error : missing ';' before identifier 'prova'
    error C2065: 'prova' : undeclared identifier

    Lavoro con MS Visual C++ 6.0.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    anche io ho VC++ 6.0

    // hfdfh.cpp : Defines the entry point for the application.
    //

    #include "stdafx.h"

    #include <string>
    using namespace std;

    int APIENTRY WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow)
    {

    string prova("CIAU");



    return 0;
    }


    // codice autogenerato!

    --------------------Configuration: hfdfh - Win32 Debug--------------------
    Compiling...
    StdAfx.cpp
    Compiling...
    hfdfh.cpp
    Linking...

    hfdfh.exe - 0 error(s), 0 warning(s)

    compila xfettamente!

  5. #5
    Utente di HTML.it L'avatar di daneel
    Registrato dal
    Oct 2002
    Messaggi
    229
    Una cosa del genere funziona, o almeno non restituisce errori.
    codice:
    #include <string> 
    using namespace std; 
    
    int main(){ 
    	string prova("CIAU"); 
    	return 0;
    }
    Nel mio codice ricevo gli errori solo se definisco
    codice:
    string prova("testo della stringa");
    dopo
    codice:
    char ch='h', *string="computer";
    // ... vari float e int
    wchar_t wch=L'w', *wstring=L"Unicode";
    Perché?
    Come si gestiscono i tipi string per la stampa e cose del genere?

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    l'errore è dovuto a

    *string="computer";

    string è un identificatore nella classe std




    la classe string xmette di usare le stringhe
    con gli operatori standard come se fosse uno scalare.

  7. #7
    Utente di HTML.it L'avatar di daneel
    Registrato dal
    Oct 2002
    Messaggi
    229
    Gli errori dipendevano da quel puntatore.
    Puoi spiegarmi in termini più semplici come può essere usato il tipo string definito?
    Una curiosità: string è un file di header, anche se non ha l'estensione .h?

  8. #8
    dirk gain
    Guest
    Si tratta sempre di header file, la differenza è che in C++ puoi includere gli header file predefiniti scrivendone solo il nome (senza l'estensione .h).
    Riguardo il tipo predefinito string, puoi usarlo come un qualsiasi altro dato predefinito (int, char...). Tra le altre cose, puoi fare confronti tra stringhe (if (stringa1==stringa2)...) o anche concatenare più stringhe con l'operatore + (stringa1=stringa2+stringa3) ecc.

  9. #9
    Utente di HTML.it L'avatar di daneel
    Registrato dal
    Oct 2002
    Messaggi
    229
    codice:
    string prova("testo della stringa");
    printf("%s\n",prova);
    L'applicazione si interrompe restituendo un errore. Come funziona il printf con il tipo string?

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    non so se funzionera'

    prova cout << stringa;

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.