2010-09-08 6 views
-1

Y at-il de bons livres ou articles sur le traitement de fichiers avec c/C++, surtout lorsque le fichier est très grand, GB ou quelque chose comme ça?Fichier IO astuces en utilisant c/C++

+1

Quels sont les problèmes que vous rencontrez. La lecture de fichiers volumineux en tant que flux n'est pas un problème, toute implémentation C récente de stdio a un grand support de fichiers. C'est probablement plus ce que vous voulez faire avec les données dans le fichier, qui ne rentre pas dans la mémoire, ou pas? Quel genre d'opérations voulez-vous faire avec ces données? – jdehaan

+2

Il n'y a rien de tel que C/C++, ce sont deux langages différents. Et en particulier les concepts pour IO sont tout à fait orthogonaux entre les deux. –

+0

@Jens: D'accord. Thios garantit un '-1'. – sbi

Répondre

1

Pas que je sache, mais il est difficile d'imaginer les problèmes qui vous préoccupent, et vous n'indiquez pas votre système d'exploitation/système de fichiers. Vous devriez vérifier la documentation de votre système d'exploitation pour voir si les habituels fopen() et al ont déjà ou ont des versions 64 bits, les docs de votre compilateur pour tous les commutateurs de ligne de commande ou problèmes avec support std :: fstream de fichiers volumineux. Vous devez également prendre en compte le mappage mémoire des fichiers et - pour vous assurer que le système d'exploitation vous supporte aussi bien que possible avec des effets indésirables sur les autres processus - accepter les indications de votre application concernant le style d'accès que vous envisagez d'utiliser (c'est-à-dire accès aléatoire vs accès séquentiel). Donc, à partir de ces trois approches: fopen et all, fstream, mmap - écrivez un petit programme et testez chacun ... cela vous prendra quelques heures et vous apprendrez beaucoup.