2 + + dizgisi dizeleri C++ olarak nasıl bildirilir? ve ayrıca bu dize dosyalara nasıl yazılır?2 boyutlu dizge dizisini başlatılıyor
cevap
Böyle dizeleri çok boyutlu bir dizi bildirebilirsiniz: Elbette
std::string myArray[137][42];
, 137 ve 42. :-) için kendi genişlik/yükseklik değerleri yerine hayır "tek bir doğru yol yoktur
"bu diziyi diske yazmak. Temel olarak, bir dizi diske, bir dizi uygun ayırıcı ve hata denetimi mantığı ile bir dizgi yazmayı sürdüreceksiniz. Bu yardımcı olur
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;
Umut: İşte (dizeleri bunlardan her yeni satırı olmadığını varsayarak) Her satıra bir dize yazar bir naif uygulanması, bu! Birlikte
do 'output.close()' yapın. –
Gerek yok; Akış nesnesi kapsam dışına çıktığında, yıkıcı dosyayı kapatacaktır. – 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;
Deklarasyonu ve başlatma: Eğer hata denetimi yapmak ve bittiğinde çıktı dosyası akışı kapatmalıdır hariç dosyasına yazılırken için
std::string myarray[2][3] = {
{ "hello", "jack", "dawson" },
{ "hello", "hello", "hello" }
};
, templatetypedef cevabı neredeyse gayet iyi.
Sanırım QString türünüz var. Bu std :: string ve hatta (char *) düzgün çalışması gerekir.
QString ** myTwoDimensionalArray;
myTwoDimensionalArray = new QString*[size_x];
for(int i=0; i<size_x; i++) myTwoDimensionalArray[i] = new QString[size_y];
İşte bu kadar. dizeleri
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. 2-D dizisini Excel'e yazma
- 2. Çok boyutlu PHP dizisini javascript dizisine dönüştürme
- 3. 2 boyutlu dizideki değerler
- 4. Python'da 2 boyutlu animasyon
- 5. 1D dizisini çok boyutlu diziye kopyala - VBA
- 6. 2 boyutlu bayt dizisinden resim nasıl oluşturulur?
- 7. 2 Boyutlu C# Listesi dizisi?
- 8. Çok boyutlu Javascript dizisini sunucu tarafına kaydetme CSV
- 9. R, yüksek boyutlu bir diziden alt matris dizisini seç
- 10. Çok boyutlu bayt dizisini SQL Server veritabanına kaydetme
- 11. 2 Boyutlu Minimum Sınırlama Dikdörtgeni Koordinatlarla Hesaplayın
- 12. Node.js 2 boyutlu JSON dizisinden satır alır.
- 13. 2-boyutlu bir diziye değerleri iterek php
- 14. 2 boyutlu ızgaraya kişi nesnelerini ekleme
- 15. iki boyutlu std :: Yani vektör
- 16. tomcat başlatılıyor
- 17. collectionViewLayout Başlatılıyor
- 18. Çok boyutlu dizi çıktısını değiştirin
- 19. Dizge veya Dizge alan bir Ruby yöntemi nasıl tanımlanır?
- 20. Neden büyük boyutlu bir numaraya sahip olan ilk boyuttan başlayarak iki boyutlu dizileri başlatan java uzun zaman alıyor?
- 21. Önemsiz dizge ayrıştırma algoritması
- 22. Sivrisinek aracısı yeniden başlatılıyor
- 23. Beslenecek argüman dizisini döndürür.format()
- 24. Kotlin'de iki boyutlu Int dizisi
- 25. ObjectMapper - nesne başlatılıyor IOS
- 26. Çok boyutlu dizinin doğrusal simülasyonu
- 27. İşlev dizisi olarak dizge dizisi nasıl iletilir?
- 28. 2D dizisini 1D dizisine nasıl düzleştirebilirsiniz?
- 29. Üç boyutlu dairesel arabellek
- 30. 2 3 boyutlu noktalar arasındaki mesafeyi hesaplamak için algoritma?
Ne tür: Şimdi sen böyle bir şey yazabilirim? Dize değişmezleri? C dizeleri? std :: string' nesneleri? 'CString' nesneleri? QString nesnesi? Bir çeşit unicode dizeleri mi? Şifreli dizeler? Başka bir çeşit ip mi? Ne tür bir dosyaya yazman gerekiyor? Dosyada belirli bir şekilde kodlanması gerekiyor mu? [İyi bir C++ kitabı var mı?] (Http://stackoverflow.com/questions/388242/the-definitive-c++-book-guide-and-list) var mı? Eğer öyleyse, ona danıştınız mı? Eğer değilse, bir tane almalısın. Sonunda –