Bonjour désolé de revenir sur ce forum mais je rencontre un nouveau problème dans la lecture d'un fichier. J'ai un fichier de ce type:
--------------------------
- grille : facile
--------------------------
4 4
#1#3
#3#2
1###
2#44

mon but est le suivant: sauter les ligne qui commencent par un "-" ainsi que la ligne 4 4 qui permet de connaitre la hauteur et la largeur de la grille. Voilà mon code pour lire le fichier simplifié suivant:

4 4
#1#3
#3#2
1###
2#44

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
(with-open-file (stream "grille.txt")
  (print (read-char stream nil))
  (peek-char t stream nil)
  (print (read-char stream nil))
  (print (read-line stream nil))
  (print (read-line stream nil))
  (print (read-line stream nil)))
 
 
"""La partie suivant n'est pas correctement fonctionnelle""" 
 
 
 
(with-open-file (stream "grille.txt")
  (defparameter x (read stream nil))
  (defparameter y (read stream nil))
  (read-line stream nil)
  """Première ligne lue avec succès, ça se gâte après"""
  """Idée : utiliser read-line, qui renvoie une chaine de caractères (plutôt que read-char qui renvoie un char ou read qui renvoie un objet) et travailler dessus)"""
sinon pour sauter les lignes qui commencent par un tiret comme suit

--------------------------
- title : that one is easy
--------------------------
4 4

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
(defun lecture ()
  (with-open-file (str "lol.txt")
    (loop while (not(null ligne)) do
     (let (a (read-line str nil))
       (if((string-equal "-" (car a )))
          "Rien"
          (print a))))))
comme vous voyez j'ai un problème : je ne sais pas comment faire pour ecrire la condition de passage a la ligne (j'ai mis "rien")

cordialement