Come dichiarare una matrice bidimensionale di stringhe in C++? e anche come scrivere questa stringa sui file?inizializzazione di una matrice bidimensionale di stringhe
risposta
È possibile dichiarare un array multidimensionale di stringhe in questo modo:
std::string myArray[137][42];
Naturalmente, sostituendo i propri valori di larghezza/altezza per 137 e 42. :-)
Non c'è "un modo giusto "scrivere questo array su disco. Dovrai essenzialmente ripetere l'iterazione dell'array scrivendo una stringa alla volta sul disco, con una sorta di separatori appropriati e una logica di controllo degli errori. Ecco un'implementazione ingenuo, che scrive una stringa per linea (supponendo che le stringhe non hanno a capo in loro):
std::ofstream output("result.txt");
for (size_t i = 0; i < 137; ++i)
for (size_t j = 0; j < 42; ++j)
output << myArray[i][j] << std::endl;
Spero che questo aiuti!
fai 'output.close()' alla fine. –
Nessuna necessità; quando l'oggetto flusso esce dall'ambito, il distruttore chiuderà il file. – templatetypedef
typedef std::vector<std::string> StringVector;
typedef std::vector<StringVector> StringVector2D;
StringVector2D twoD;
for (StringVector2D::iterator outer = twoD.begin(); outer != twoD.end(); ++outer)
for (StringVector::iterator inner = outer->begin(); inner != outer->end(); ++inner)
std::cout << *inner << std::endl;
Dichiarazione e l'inizializzazione insieme:
std::string myarray[2][3] = {
{ "hello", "jack", "dawson" },
{ "hello", "hello", "hello" }
};
Per la scrittura di file, la risposta di templatetypedef è quasi bene, tranne che si dovrebbe fare il controllo degli errori e chiudere il flusso di file di output quando fatto.
Suppongo, che tu abbia tipo QString. Questo dovrebbe funzionare correttamente con std :: string e even (char *).
QString ** myTwoDimensionalArray;
myTwoDimensionalArray = new QString*[size_x];
for(int i=0; i<size_x; i++) myTwoDimensionalArray[i] = new QString[size_y];
Questo è tutto. Ora, è possibile scrivere qualcosa di simile:
myTwoDimensionalArray[x][y] = "Hello, World!";
#include<iostream>
#include<vector>
using namespace std;
main()
{
vector< vector<string> > m2m;
vector<string> A, B;
vector< vector<string> >::iterator inter_i;
vector<string>::iterator inter_j;
A.push_back("micro");
A.push_back("soft");
A.push_back("bilgates");
B.push_back("linux");
B.push_back("unix");
B.push_back("ken dennish");
m2m.push_back(A);
m2m.push_back(B);
cout<<endl<<" USing iterator : "<<endl;
for(inter_i=m2m.begin();inter_i!=m2m.end();inter_i++)
{
for(inter_j=(*inter_i).begin();inter_j!=(*inter_i).end();inter_j++)
{
cout<<*inter_j<<" ";
}
cout<<endl;
}
return 0;
}
- 1. Come convertire matrice bidimensionale ad una matrice bidimensionale in PHP5
- 2. C# assegnano 1 matrice bidimensionale di sintassi 2 matrice bidimensionale
- 3. stampa di una matrice bidimensionale in python
- 4. Riferimento a una matrice bidimensionale
- 5. Matrice bidimensionale di diversi tipi
- 6. Matrice bidimensionale in python
- 7. Come stampare una matrice bidimensionale Perl?
- 8. Come implementare una matrice bidimensionale di struct in C
- 9. Trovare la posizione di un elemento in una matrice bidimensionale?
- 10. Ordinamento di una matrice bidimensionale per il secondo valore
- 11. matrice bidimensionale utilizzando i modelli
- 12. C: Dimensioni della matrice bidimensionale
- 13. usando array_search multi matrice bidimensionale
- 14. Puntatore Marshalling a una matrice di stringhe
- 15. Ruby, interpolazione una matrice di stringhe
- 16. Matrice di dinamica | ExpandoObject | con una sintassi di inizializzazione compressa
- 17. convertire matrice di stringhe a intero matrice
- 18. 2 lista di array bidimensionale
- 19. Lista di array bidimensionale
- 20. C++ matrice inizializzazione
- 21. Inizializzazione dell'array statico di stringhe (C++)?
- 22. const inizializzazione di matrice membro della classe
- 23. Conversione di una matrice di array in una matrice di stringhe
- 24. Come si cerca una matrice bidimensionale in qualsiasi direzione
- 25. Inizializzazione di una matrice con un valore singolo
- 26. Come filtrare una matrice bidimensionale in base al valore
- 27. Array e Split comandi per creare una matrice bidimensionale 2
- 28. Come passare una matrice bidimensionale di una dimensione sconosciuta a una funzione
- 29. C++ colata statica a doppia matrice bidimensionale di raddoppiare **
- 30. lettura JSON doppia matrice bidimensionale in Java
Che tipo di corde? Stringhe letterali? Stringhe? Oggetti 'std :: string'? Oggetti 'CString'? Oggetti 'QString'? Stringhe Unicode di qualche tipo? Stringhe crittografate? Qualche altro tipo di archi? A che tipo di file hai bisogno di scriverli? Devono essere codificati in un modo particolare nel file? Hai [un buon libro introduttivo in C++] (http://stackoverflow.com/questions/388242/the-definitive-c++-book-guide-and-list)? Se sì, l'hai consultato? In caso contrario, dovresti prenderne uno. –