Wie deklariert man ein zweidimensionales Array von Strings in C++? und wie man diese Zeichenfolge in Dateien schreibt?Initialisierung eines zweidimensionalen Arrays von Strings
Antwort
Sie können ein mehrdimensionales Array von Strings wie folgt erklären:
std::string myArray[137][42];
Natürlich Ihre eigene Breite/Höhe Werte für 137 und 42 :-) Substitution
Es gibt keine „einen richtigen Weg ist "um dieses Array auf die Festplatte zu schreiben. Sie werden im Wesentlichen über das Array iterieren und jeweils eine Zeichenfolge auf die Festplatte schreiben, mit einer Art von geeigneten Trennzeichen und einer Fehlerüberprüfungslogik. Hier ist eine naive Implementierung, die aus einem String pro Zeile schreibt (unter der Annahme, dass die Saiten haben noch keine Zeilenumbrüche in ihnen):
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;
hoffte, das hilft!
tun 'output.close()' am Ende. –
Kein Bedarf; Wenn das Stream-Objekt den Gültigkeitsbereich verlässt, schließt der Destruktor die Datei. – 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;
Deklaration und Initialisierung zusammen:
std::string myarray[2][3] = {
{ "hello", "jack", "dawson" },
{ "hello", "hello", "hello" }
};
Zum Schreiben Antwort auf Datei, templatetypedef der ist fast in Ordnung, außer dass Sie die Fehlerüberprüfung tun sollen, und die Ausgabedatei-Stream schließen, wenn Sie fertig.
Ich nehme an, dass Sie QString Typ haben. Dies sollte std :: string und even (char *) korrekt funktionieren.
QString ** myTwoDimensionalArray;
myTwoDimensionalArray = new QString*[size_x];
for(int i=0; i<size_x; i++) myTwoDimensionalArray[i] = new QString[size_y];
Das ist es. Jetzt können Sie schreiben, so etwas wie:
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. Serialisieren/Deserialisieren eines zweidimensionalen Arrays
- 2. Initialisierung des statischen Arrays von Strings (C++)?
- 3. Anordnen von Spalten eines zweidimensionalen 2D-Arrays
- 4. Ersetzen von Werten eines zweidimensionalen Arrays
- 5. Erstellen eines Arrays von zweidimensionalen Arrays in C#
- 6. Dateiausgabe eines Arrays von Strings
- 7. Erstellen eines zweidimensionalen Arrays in Objective-C
- 8. Referenzieren einer Dimension eines zweidimensionalen Arrays
- 9. Initialisierung eines Arrays von Bools - Null zurück
- 10. Initialisierung eines Arrays von Strukturen in C#
- 11. Initialisierung eines verschachtelten Struktur-Arrays
- 12. Summe der zweidimensionalen Arrays
- 13. Erstellen eines Wörterbuchs von zweidimensionalen Arrays in C#
- 14. C: Größe des zweidimensionalen Arrays
- 15. Behandeln eines 1-dimensionalen Arrays wie eines zweidimensionalen Arrays in C zum Drehen eines Bildes
- 16. "Richtung" von zweidimensionalen Arrays in C
- 17. Initialisieren eines zweidimensionalen std :: vector
- 18. Korrekter Weg zur Initialisierung eines NULL-terminierten Arrays von Strings in C
- 19. Initialisierung eines leeren Arrays in C++
- 20. Initialisierung eines Arrays mit einem Constexpr?
- 21. Erstellen und Befüllen eines zweidimensionalen Arrays in Scala
- 22. Wie Initialisierung eines großen Arrays vermeiden
- 23. Initialisierung eines Float-Arrays auf Konstruktion
- 24. Initialisierung eines Arrays mit einer initializer_list?
- 25. Ermitteln des Minimums und Maximums eines zweidimensionalen Arrays mit LINQ
- 26. Vergleichen eines zweidimensionalen Arrays mit einem eindimensionalen Array in Java
- 27. Erstellen eines zweidimensionalen Objektarrays
- 28. Verschachtelte Strukturen/Arrays Initialisierung
- 29. Bedingte Deklaration von Arrays in zweidimensionalen Char-Array?
- 30. Elegante Initialisierung eines Arrays von Klasseninstanzen in C#
Welche Art von Strings? Stringliterale? C Saiten? 'std :: string' Objekte? 'CString' Objekte? 'QString' Objekte? Irgendwelche Unicode-Strings? Verschlüsselte Zeichenfolgen? Irgendeine andere Art von Saiten? In welche Art von Datei müssen Sie sie schreiben? Müssen sie in einer bestimmten Weise in der Datei codiert werden? Haben Sie [ein gutes einleitendes C++ Buch] (http://stackoverflow.com/questions/388242/the-definitive-c++book-guide-and-list)? Wenn ja, haben Sie es konsultiert? Wenn nicht, sollten Sie eins bekommen. –