2009-03-02 6 views
1

J'essaie de lire un tableau 2D formaté à partir d'un fichier sur disque dans une variable. J'ai l'opération d'écriture, qui est plutôt simple, mais je suis coincé en lisant le même fichier. Quelqu'un pourrait-il me diriger vers un échantillon/écrit sur la façon de faire cela? Le net semble saturé, mais je ne trouve pas d'article utile. Par ailleurs, la raison pour laquelle le fichier mis en forme est de le rendre lisible par l'homme car il contient des options de configuration.Lecture d'un tableau formaté dans une variable à partir d'un fichier

Répondre

2

J'ai effectivement trouvé que la documentation physique fournie avec le compilateur est généralement la plus lisible et la plus informative pour les compilateurs Fortran. Bien sûr, ce n'est pas une option si vous utilisez g95 ou quelque chose comme ça.

Voici un pretty good page décrivant la plupart des spécifications techniques de l'instruction read. En particulier, voir la section sur "Format Edit Descriptors" - très pratique. Sur une note de côté, si vous avez la chaîne de format d'écriture exacte, vous pouvez généralement laisser tomber dans une chaîne de format de lecture, mais si vous écrivez avec WRITE(*,*) ou quelque chose comme ça, vous n'aurez probablement pas un valide écrire l'instruction de format à utiliser. Finalement, si vous jetez cela en ASCII pour que les gens puissent le lire, et que vous n'ayez pas à vous soucier de la rétrocompatibilité, considérez le tout comme des champs de longueur fixe, car ils sont de loin les plus faciles choses à relire.

Désolé je ne peux pas penser à de meilleures ressources en ligne, mais Fortran est terriblement sous-documenté sur le web. Je me souviens une fois de vérifier si g95 avait des documents de référence Fortran, mais ils n'ont pour la plupart que des documents sur leurs paramètres de compilation spécifiques. Bonne chance, cependant!

+0

Merci Mike, je viens de lire cette page. Je pense que je suis proche. Je cours juste dans une erreur de fin d'enregistrement. Ahh, le plaisir d'une nouvelle langue :) – ccook

+0

Désolé, la fin du fichier est l'erreur – ccook

+0

Si vous spécifiez une longueur d'enregistrement définie, vous n'avez probablement pas besoin de - lire et écrire ASCII n'est généralement pas fait avec tailles d'enregistrement, mais il y a toujours des exceptions :) Si vous frappez EOF avant de penser que vous devriez, c'est une histoire différente. – Mike

Questions connexes