Bonjour

Je teste simultanément code::block et le rpm de Mandriva... L'erreur est où ?
J'ai un code qui compile avec g++ manuellement et qui marche, même si j'ai du mettre quelque chose d'anormal :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 fflush(stdin);
    scanf("%c",&c);
    scanf("%c",&c);
Car le fflush(stdin); ne vidait pas le tampon.

Si je compile avec code::block, voivi le message :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Project   : Console application
Compiler  : GNU GCC Compiler (called directly)
Directory : /home/bs/Cours_IUT/info/
--------------------------------------------------------------------------------
Switching to target: default
Linking console executable: /home/bs/Cours_IUT/info/chaine
g++: .objs/main.o : Aucun fichier ou répertoire de ce type
g++: pas de fichier à l'entrée
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings
L'exécution donne ensuite le message suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Cheking for existance : /home/bs/Cours_IUT/info/chaine
en ouvrant une fenêtre qui dit :
It seems that this project has not been built yet
Do you want to built it now?
Pour info:
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
69
70
71
72
[troumad@portable][~/Cours_IUT/info]$ cat chaine.cbp
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
        <FileVersion major="1" minor="1"/>
        <Project>
                <Option title="Console application"/>
                <Option makefile="Makefile"/>
                <Build>
                        <Target title="default">
                                <Option type="1"/>
                                <Option parameters=""/>
                                <Option includeInTargetAll="1"/>
                                <Option projectCompilerOptionsRelation="3"/>
                                <Option projectLinkerOptionsRelation="3"/>
                                <Option projectIncludeDirsRelation="3"/>
                                <Option projectLibDirsRelation="3"/>
                                <Compiler>
                                        <Add option=""/>
                                </Compiler>
                                <Linker>
                                        <Add option=""/>
                                </Linker>
                        </Target>
                </Build>
        </Project>
</CodeBlocks_project_file>
[troumad@portable][~/Cours_IUT/info]$ cat  main.cpp
#include <stdio.h>
#include <string.h>
 
int main()
{
    char chaine[100], ch[10], c, *p;
    unsigned short i=0,j,k;
 
    printf("Donnez une chaine de caractères : ");
    scanf("%s",chaine);
    printf("Quel caractère cherchons-nous dedans : ");
    fflush(stdin);
    scanf("%c",&c);
    scanf("%c",&c);
 
    /* version incompréhensible */
    for(p=chaine-1;(p=strchr(p+1,c))!=NULL;i++);
    printf("%c apparait %hu fois dans la chaine : %s\n",c,i,chaine);
 
    /* version compréhensible */
    for (i=0,j=0;chaine[j]!=0;j++) // double initialisation
     if (chaine[j]==c)
      i++;
    printf("%c apparait %hu fois dans la chaine : %s\n",c,i,chaine);
 
    printf("Quelle chaine voulez-vous chercher dans votre première chaine de caractères ? : ");
    scanf("%s",ch);
 
    /* version incompréhensible */
    for(i=0,p=chaine-1;(p=strstr(p+1,ch))!=NULL;i++);
    printf("%s apparait %hu fois dans la chaine : %s\n",ch,i,chaine);
 
    /* version plus compréhensible */
    for (i=0,j=0;chaine[j]!=0;j++) // double initialisation
     if (chaine[j]==ch[0])
     {
      for (k=1;ch[k]!=0 && ch[k]==chaine[j+k];k++);// tant que c'est la même chose et qu'on n'est pas sorti de la chaine
      if (ch[k]==0) // si on est sorti après avoir parcouru toute la chaine
       i++;
     }
    printf("%s apparait %hu fois dans la chaine : %s\n",ch,i,chaine);
 
}
[troumad@portable][~/Cours_IUT/info]$