Jak zadeklarować dwuwymiarową tablicę łańcuchów w C++? a także jak napisać ten ciąg na plikach?inicjalizacja dwuwymiarowej tablicy łańcuchów znaków
Odpowiedz
Można zadeklarować wielowymiarową tablicę ciągów tak:
std::string myArray[137][42];
Oczywiście, wstawiając własne wartości szerokość/wysokość do 137 i 42. :-)
Nie ma „jeden właściwy sposób "napisać tę tablicę na dysk. Zasadniczo będzie to iteracja nad tablicą zapisującą jeden ciąg na dysk, z odpowiednimi separatorami i logiką sprawdzania błędów. Oto jeden naiwny wdrożenie, które pisze się jednym ciągiem na linię (zakładając, że struny nie ma żadnych nowych linii w nich):
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;
Nadzieja to pomaga!
wykonaj 'output.close()' na końcu. –
Nie ma potrzeby; gdy obiekt strumienia wykracza poza zakres, destruktor zamknie plik. – 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;
deklaracja i inicjalizacja razem:
std::string myarray[2][3] = {
{ "hello", "jack", "dawson" },
{ "hello", "hello", "hello" }
};
Do pisania do pliku, odpowiedź templatetypedef jest prawie w porządku, z wyjątkiem należy zrobić, sprawdzanie błędów i zamknąć strumienia pliku wyjściowego po zakończeniu.
Zakładam, że masz typ QString. Powinno to działać poprawnie na std :: string i even (char *).
QString ** myTwoDimensionalArray;
myTwoDimensionalArray = new QString*[size_x];
for(int i=0; i<size_x; i++) myTwoDimensionalArray[i] = new QString[size_y];
To wszystko. Teraz można napisać coś takiego:
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. filtrowanie tablicy łańcuchów znaków
- 2. Podział dwuwymiarowej tablicy numerycznej
- 3. Odniesienie do tablicy dwuwymiarowej
- 4. Uzyskiwanie długości dwuwymiarowej tablicy
- 5. jquery tworzenie dwuwymiarowej tablicy
- 6. Znajdź ciąg w dwuwymiarowej tablicy
- 7. tablicy dwuwymiarowej przy użyciu szablonów
- 8. Górna przekątna dwuwymiarowej tablicy numerycznej
- 9. Inicjalizacja znaków znakowych
- 10. Inicjalizacja tablicy początkowej
- 11. Inicjalizacja statyczna tablicy całkowitej
- 12. Tworzenie dwuwymiarowej tablicy w Objective-C
- 13. usuwa pusty ciąg znaków z tablicy łańcuchów - JQuery
- 14. Sortowanie tablicy łańcuchów znaków w odwrotnej kolejności alfabetycznej w Javie
- 15. Uzyskiwanie ostatniego elementu podzielonej tablicy łańcuchów
- 16. Sortowanie tablicy łańcuchów i ignorowanie przypadku
- 17. rails jbuilder - tylko tablica łańcuchów znaków
- 18. Jak skutecznie znaleźć obszary w tablicy dwuwymiarowej?
- 19. Pierwsze tablice jednowymiarowe z dwuwymiarowej tablicy
- 20. Jak programowo wstawiać wartości w tablicy dwuwymiarowej?
- 21. Jak obcinać wartości dwuwymiarowej tablicy numerycznej
- 22. Jak usunąć wiersz w tablicy dwuwymiarowej
- 23. Usuń „kolumny” subarrays o dwuwymiarowej tablicy
- 24. Znajdź pasujące wiersze w dwuwymiarowej tablicy numpy
- 25. Typedef dla dwuwymiarowej tablicy w C
- 26. Jakiego typu powinienem użyć w dwuwymiarowej tablicy?
- 27. PHP Array.length dla dwuwymiarowej tablicy (oś Y)
- 28. Generowanie tabeli HTML z dwuwymiarowej tablicy JavaScript
- 29. Jak przekonwertować dwuwymiarowej tablicy do jednej tablicy wymiarowe w PHP5
- 30. Jak znaleźć zapis z tablicy dwuwymiarowej tablicy w szynach 3?
Jaką strun? Literały ciągów? Struny C? obiekty 'std :: string'? Obiekty 'CString'? Obiekty 'QString'? Ciągi znaków Unicode? Szyfrowane ciągi? Jakiś inny rodzaj strun? Jakiego rodzaju pliku potrzebujesz do napisania? Czy muszą być one zakodowane w określony sposób w pliku? Czy masz [dobrą wstępną książkę C++] (http://stackoverflow.com/questions/388242/the-definitive-c++-book-guide-and-list)? Jeśli tak, czy skonsultowałeś się z nim? Jeśli nie, powinieneś go zdobyć. –