Bonjour à tous !
Je dois encore une fois ré-inventer la roue dans un de mes tp d’informatique. Je suis plus un mec de réseau, mais le C est présent dans Unix et Linux que j’ai décidé de prendre un cours de C.
Je dois faire un programme qui fait du formatage de base. A vrai dire je dois formater d’autres fichiers écris en C.
A chaque fonction, je dois ajouter une tabulation aux lignes après le { et enlever une tabulation aux lignes après un } jusqu’à ce que je rencontre une autre. Pas de verification de saut de ligne. Seulement d’indentation.
monProgramme.c < fichierNature.c > FichierFormaté.c
Ce que j’ai pensé, c’est de mettre une ligne la fois dans un array incluant le retour de chariot et les espaces et ensuite imprimer cette ligne dans un fichier.
Si je détecte un commentaire j’arrête la et j’imprime le commentaire. Si je détecte un { ou un } (ils doivent etre seuls sur leur ligne, car s’il ne sont pas seul je ne fais rien, car il se peut qu’il y ait des printf(“{}{}{}{}{}}{}{}}lllololol”)….j’ajoute ou enleve une tabulation aux lignes concernes.
Je ne sais pas trop ou commencer, il semble avoir des millions de facons de lire un fichier et de l’ananlyser. La taille de la ligne ni du fichier ne doit pas etre un facteur. Il me semble qu'il y ait plein de genre de scanner ou de fonctions d'analyse de texte, mais la quelle utiliser pour un débutant.
Je trouve cela vraiment intense pour un premier devoir en C.
Exemple
FichierNature
Fichier formaté
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 void bonjour { Hello; } void bonjour1 { Hello; } void bonjour 2 { Hello ; }
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 void bonjour { Hello; } void bonjour1 { Hello; } void bonjour 2 { Hello ; }
Partager