Quelle est la meilleure façon de lire dans un fichier délimité par des tabulations en C++ et de stocker chaque ligne en tant qu'enregistrement? Je cherchais une librairie open source pour m'y aider, mais je n'ai pas réussi, donc j'ai l'impression que je vais devoir écrire la mienne.Lecture de fichiers délimités en C++
Répondre
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);
}
}
Ceci vous aidera à démarrer. Il ne vérifie pas que chaque ligne a le même nombre de champs, permet d'échapper field_delim
, etc.
ce code fonctionne dans le studio visuel. l'erreur est l'erreur "C4430: spécificateur de type manquant - int supposé". J'ai inclus string.h – tumchaaditya
Le code compile bien sur CentOS avec g ++. Vous ne savez pas ce que vous n'avez pas ajouté pour le faire fonctionner – thaweatherman
Il n'y a aucun problème à utiliser les iostreams - vous pouvez lire chaque ligne avec getline dans une chaîne, puis utiliser stringstream sur cette chaîne pour parcourir les champs.
Il y a quelques bibliothèques listées dans l'article de wikipedia CSV_application_support.
- 1. Lecture de fichiers en C#, différences de méthodes
- 2. C# Lecture de fichiers 'Zip' avec FileStream
- 3. Lecture PDF en C#
- 4. fichiers en lecture/écriture Serrures
- 5. Lecture de DVD en C#?
- 6. Lecture .docx en C++
- 7. La lecture de documents composés en C#
- 8. C# Lecture en hébreu?
- 9. Lecture de fichiers MIDI
- 10. Lecture (et écriture) de fichiers RTF avec C++/Qt
- 11. Fichiers SVN et en lecture seule
- 12. Lecture d'uintvars (VLQ) en C#
- 13. lecture/écriture de fichiers MS Word en Python
- 14. Lecture de partage caché en C#
- 15. Lecture de l'image PPM en C#
- 16. lecture du fichier image FAT12 en C
- 17. Lecture des fichiers binaires, sans mise en mémoire tampon le fichier en mémoire en C++
- 18. Quelle est la bonne méthode de lecture et d'analyse des fichiers de données en C++?
- 19. Lecture de fichiers dans un projet .NET
- 20. programmes en cours d'exécution en parallèle, lecture/écriture en C
- 21. AVAudioPlayer - Lecture de plusieurs fichiers audio, en séquence
- 22. Comparaison de fichiers en C#
- 23. Lecture des fichiers à partir du fichier avec C
- 24. Le fichier C# en lecture/écriture Le partage de fichiers ne semble pas fonctionner
- 25. Travailler avec des fichiers AVI en C#
- 26. problème avec PHP lecture de fichiers CSV
- 27. lecture Xml dans un DataGrid en C#
- 28. Lecture dans les tableaux en C++
- 29. « Lecture seule » propriété accesseur en C#
- 30. Lecture à partir d'un tableau en C#
J'ai été étonné de constater que lorsque je cherchais cela, je n'arrivais pas à extraire du code quelque part pour une chose aussi simple. Quoi qu'il en soit, j'ai écrit un blog pour ma solution (basé sur d'autres réponses sur Stack Exchange) [C++ Tidbits] (http://goo.gl/y0bOVv) – Wybird666