|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
array di stringhe in C++ . Aiuto !!!!
Allora sembrerà strano ma sapete che da tanto che uso C++ non mi sono mai imbattutto in una rray di stringhe ? Allora il punto è : come si dichiara un array di stringhe ?
Ho fatto così : char vettore[20][200] ; cioè la prima dimensione è riferita alla stringa e la seconda al vettore ..... proprio come se fosse una matrice ...... il punto è il seguente .....se io volessi leggere una stringa con cin.getline() o cin.get come faccio ? Sarebbe più opportuno che mi crei un tipo ? e poi mi creo una rray di quel tipo ? Fatemi sapere .... ah ma in c++ il tipo string esiste o si deve per forza creare con char[dimensione] ? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
guarda qui
http://programmazione.html.it/cplusplus/cplusplus_22.htm |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Si visto .... ma il mio problema è su un array di stringhe .... forse non mi sono spiegato ... ora ci riprovo .... a me serve definire un array i cui elementi sono delle stringhe ..... lo so che una stringa non è altro che un array di carattere .... capito ? Secondo te è meglio definire un tipo a parte ?
|
![]() |
![]() |
![]() |
#4 | |
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Quote:
|
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Quote:
|
|
![]() |
![]() |
![]() |
#6 | |
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Quote:
Vector è il nuovo tipo di array del C++ Standard(ex STL). Se vuoi ti mando una mia lib che è in quasi tutto uguale ai vector cosi capisci come funzionano. Per piu info guarda qui! |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
si ok il mio indirizzo è gigginofalco@virgilio.it
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Cmq ho risolto nel seguente modo :
Codice:
#include <iostream.h> #include <conio.h> #include <stdlib.h> char nomi[20][15]; void registra ( char vettore[20][15],int &n); void main () { char tasto ; int numero_di_nomi ; registra (nomi,numero_di_nomi); int i; for (i=0;i<numero_di_nomi;i++) cout << nomi[i] << endl ; cin >> tasto ; } void registra (char vettore[20][15],int &n) { cout << "Quanti nomi vuoi inserire ? " << endl ; cin >> n; int i ; for (i=0;i<n;i++) { cout << "Inserire " << i+1 << " nome" ; cin.ignore(); cin.get (vettore[i],20,'\n') ; } } |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Passalo così:
char **vettore |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
sarebbe ?
|
![]() |
![]() |
![]() |
#11 | |
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Quote:
|
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
ehi, però in BCB esiste la TStringList che è molto comoda
![]() TStringList *miastringa = new TStringList; |
![]() |
![]() |
![]() |
#13 | |
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Quote:
Mi fai un esempio di utilizzo? Ma tu usi l'help in lienea per trovare ste cose?? P.S: ma AnsiString di BCB..............puo essere castata in string STL? |
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
A volte sapete che penso ? Dicono tutti che C++ è molto potente e su questo non ho dubbi ma permettete una cosa ? Il compilatore C++ è il più cretino sulla faccia della terra ... forse sarà solo quello della microsoft ma a volte da errori veramente stupidi ...... è una cosa incredibile ..... e poi un linguaggio tanto potente che non ha neanche un tipo stringa ? E' esagerato dai ...... così anche la famosa clearscreen nota in tutti i linguaggi di programmazione per farla in c++ ci sono volute chiamate ad API .... una cosa incredibile ..... e di questo chiaramente ringranzio il carissimo cionci .....
|
![]() |
![]() |
![]() |
#15 |
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
[quote="leon84"] è una cosa incredibile ..... e poi un linguaggio tanto potente che non ha neanche un tipo stringa ?quote]
Includi <string> nei tuoi prog e potrai usare le string come ti dicevo post è sopra |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
si ma io nei miei programmi includo sempre string.h ma nella dichiarazione della stringa intendo non c'è un tipo ben definito .... mi spiego se io volessi fare una rray di stringhe in qualsiasi altro linguaggio farei così :
Codice:
string vettore[10] ; è solo un esempio chiaramente cambia di linguaggio in linguaggio ..... in c++ devo fare char vettore[20][10] che in realtà è una matrice bidimensionale ..... capito cosa intendevo dire ? |
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
Quote:
TStringList *miastringa = new TStringList; miastinga->Add("ho aggiunto una stringa"); miastinga->Add("ho aggiunto una stringa"); miastinga->Add("ho aggiunto una stringa"); miastinga->Add("ho aggiunto una stringa"); miastinga->Add("ho aggiunto una stringa"); tieni presente che l'allocazione avviene attraverso la VCL , sembra quasi Visual Basic ![]() int numero stringhe = miastringa->Count(); tieni presente che BCB ha già di suo talmente tante di quelle classi a sua disposizione che definirne delle nuove è quasi superfluo ![]() a me non è mai capitato di definirne alcuna sino ad ora ![]() etc..... |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:06.