mon programme consiste à lire un fichier(c++) et à ecrir dans un aurte fichier temporaire et à chaque fois que je trouve une include fichier.h je rajoute son contenu dans le fichier temporaire
mais j'ai rencontré un probleme avec les commentaire multi lignes, lorsque je trouve un include fichier.h dans un commentaire mon programme le rajouter, et c'est pas correcte

je voudrai donc ignorer ce qui se trouve dans les commentaire multi lignes
mais tout en les rajoutants a mon fichier temporaire bien entendu

exemple de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
#ifndef ICK
#define ICK
/*
#include "fichier.h"
*/
 
#include "ickupdef.h" /* defines */
une partie de mon code
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 
	private void writeIncludeH(String ligne, BufferedWriter tmpwriter,
			List<String> inclueFile, String path, List<String> listefichierH)
			throws IOException {
 
		BufferedReader lecteurFileHBuffer = null;
 
		if (IsMacro(ligne, "include") && !ligne.startsWith("//")) {
 
			MonfichierH = trouverH(ligne);
 
			if (MonfichierH != null && MonfichierH.endsWith(".h")
					&& Strings.containsValue(MonfichierH, inclueFile)
					&& !Strings.containsValue(MonfichierH, listefichierH)) {
 
				listeinclude.add(MonfichierH);
				listefichierH.add(MonfichierH);
				String lineH = ligne.replaceAll(ligne, "//SC++" + ligne);
				tmpwriter.write(lineH);//System.err.println(lineH);
				tmpwriter.newLine();
 
				try {
					lecteurFileHBuffer = new BufferedReader(new FileReader(path
							+ MonfichierH));
 
				} catch (FileNotFoundException exc) {
					exc.getMessage();
				}
				while ((ligne = lecteurFileHBuffer.readLine()) != null) {
					writeIncludeH(ligne, tmpwriter, inclueFile, path,
							listefichierH);
				}
				lecteurFileHBuffer.close();
				tmpwriter.write("//SC--include "
						+ listeinclude.get(listeinclude.size() - 1));
				tmpwriter.newLine();
				listeinclude.remove(listeinclude.size() - 1);
 
			}
			else if(!ligne.startsWith("//")){
				tmpwriter.write("//" + ligne);
				tmpwriter.newLine();
				}
		} else {
			if (IsMacro(ligne, "ifdef" )|| IsMacro(ligne, "endif" ))  {
//				if (ligne.contains("/*") && !ligne.contains("*/")) {
//					ligne = ligne + "*/";
//					tmpwriter.write(ligne);
//					tmpwriter.newLine();
//				}
//				if (!ligne.contains("/*") && ligne.contains("*/")) {
//					tmpwriter.write(ligne);
//					tmpwriter.newLine();
//				}
//				else {
					tmpwriter.write("//SC_MACRO" + ligne);
					tmpwriter.newLine();
					tmpwriter.write(ligne);
					tmpwriter.newLine();
//				}
			}
			else {
				tmpwriter.write(ligne);
				tmpwriter.newLine();
			}
		}
 
	}
cette methode est appelée lors de la lecture du fichier c++

je sais que c'est une question bete mais la mon cerveau n'arrive plu a fonctionée

svp help me