C++ ile sekme ile ayrılmış bir dosyada okumak ve her satırı bir kayıt olarak saklamanın en iyi yolu nedir? Bu konuda yardımcı olacak bir açık kaynak kütüphanesi arıyordum, ancak başarısız oldum, bu yüzden kendi yazmam gerekecek gibi görünüyor.C++ dosyasında ayrılmış dosyaları okuma
cevap
typedef vector<vector<string> > Rows;
Rows rows;
ifstream input("filename.csv");
char const row_delim = '\n';
char const field_delim = '\t';
for (string row; getline(input, row, row_delim);) {
rows.push_back(Rows::value_type());
istringstream ss(row);
for (string field; getline(ss, field, field_delim);) {
rows.back().push_back(field);
}
}
Bu, başlatılacak. Her satırın aynı sayıda alana sahip olduğundan, field_delim
, vb. Çıkışa izin verdiğinden emin değilsiniz.
Bu kod, görsel stüdyosunda bot çalışması yapıyor. hata "C4430: eksik tür belirteci - int kabul edildi" hatası. string.h'yi dahil ettim – tumchaaditya
Kod, g ++ ile CentOS'ta iyi derler. Çalışmak için neleri eklemediğinden emin değil misiniz? – thaweatherman
iostreams kullanımıyla ilgili bir sorun yoktur - her satırı getline ile string olarak okuyabilir ve daha sonra bu dize üzerinde stringstream'i kullanarak alanların üzerinde yineleme yapabilirsiniz.
Wikipedia'nın CSV_application_support numaralı makalesinde listelenen birkaç kitaplık vardır.
- 1. c word dosyasında okuma #
- 2. C# okuma/yazma .xlsm Dosyaları
- 3. Bir pgm dosyasında okuma
- 4. php dosyasında okuma dosyası hatası
- 5. Bileşen belgeleri okuma C#
- 6. C# PCL Dosyadan Okuma
- 7. C++ okuma sonuçları C++
- 8. C# - Benim kaynak dosyasında kaynakların
- 9. osgi blueprint bundle kaynak dosyasında okuma nasıl
- 10. java ile metin dosyasında okuma (Sekmelerle)
- 11. Bir XML veri dosyasında bir JDBC'ye okuma
- 12. Dosyaya XML yazılması python dosyasında yozlaştırır dosyaları
- 13. Dosyadan okuma C++ (Basit)
- 14. Okuma (/ Yazma) Dosyalar C#
- 15. Dinamik bir eksende virgülle ayrılmış değerler (csv) dosyası okuma
- 16. PowerShell betiği okuma dosyaları performansı çok yavaş
- 17. iPhone üzerinde metin dosyaları yazma ve okuma
- 18. Python UDF - harici dosyaları alma/okuma
- 19. C# sözcükleri bir metin dosyasında ayırma
- 20. C kaynağı .W dosyasında
- 21. C++ - Virgülle ayrılmış kullanıcı giriş dizesinin vektöre
- 22. C# - firebird'in blobunu okuma/yazma
- 23. Bir bayt okuma ve C++
- 24. bmp dosyalarını okuma/yazma c
- 25. Harici dosyadan okuma parametreleri - C#
- 26. linux clipboard okuma/yazma C
- 27. C# Linq ve Xml Okuma
- 28. C# kullanarak USB'den veri okuma
- 29. Win32/C++ Kullanarak PNG Okuma
- 30. Okuma için ayrıştırıcı Objective-C
Bunu aradığımda, basit bir şekilde bir yerden bir kodu kopyalayamadığım için çok şaşırdım. Her neyse, çözümüm için bir blog yazdım (Stack Exchange'deki diğer cevaplara dayanarak) [C++ Tidbits] (http://goo.gl/y0bOVv) – Wybird666