2012-03-15 7 views
-4

Quelqu'un peut-il m'aider à déclarer un tableau de chaînes dans mon en-tête, le configurer dans mon fichier cpp puis l'initialiser avec des valeurs dans une boucle for. Je dois utiliser un tableau de style C donc je ne peux pas utiliser de vecteur. Je suis aux prises avec la meilleure approche pour utiliser le moins de ressources possible, car il y a 10 000 lignes ish dans ce fichier texte que je suis en train de lire.C++ string array

+0

Devez-vous les lire tous en mémoire? Ne pouvez-vous pas lire et traiter une ligne à la fois? – hatboyzero

+0

ajoutez votre code actuel. – Pheonix

+0

Les chaînes peuvent-elles être au moins des chaînes C++ ou 'char *'? – Tudor

Répondre

2

Si vous n'êtes pas autorisé à utiliser vector et vous ne savez pas comment le nombre de lignes valides le fichier contient jusqu'à ce que vous avez fini de lire ce, vous avez 2 options:

  • Simulez le comportement de vector en créant un tableau qui double sa taille lorsqu'il est plein
  • Effectuez une passe pour déterminer le nombre de lignes dans le fichier. Allouer un tableau de taille fixe, puis faire un autre passage pour remplir le tableau.

Choisissez l'une d'elles et essayez-la. Ils ont tous deux leur pour et contre. Le second est moins sujet aux erreurs à mettre en œuvre.

Vous pouvez également placer les lignes dans une liste chaînée, puis les copier dans un tableau.