Salut!

Je souhaite pouvoir entrer au clavier une chaine de caractere au format suivant:
ch1 ch2:ch3
ou
ch1 ch2-ch3
j'arrive a récupérer ch1, sauter l'espace, récupérer ch2, récupérer la ponctuation entre ch2 et ch1, mais je ne récuère que le premier caractère de ch3...

Voici le 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
 
int reco_com(char s[],char s2[],char temp[],char punct[], char fin[])
{
  int i,k,j,l;
  char s1[256];
  for(i=0;i<32;i++)
    {
      if(isspace(s[i])!=8192)
	s1[i]=s[i];
      else
	{  for(k=i+1;k<32;k++)
	    {
	      if(ispunct(s[k])!=4)
		temp[k-i-1]=s[k];
	      else
		{
		  punct[0]=s[k];
		  for(l=k+1;k<32;k++)
		    fin[l-k-1]=s[l];
		  goto suite;
		}
	    }
	  goto suite;
	}
    }
 suite:
  j=strcmp(s1,s2);
  return j;
 
}
ou s est la chaine entrée lu au clavier, s2 cette meme chaine a laquelle on a enlevé tt ce qui suit l'espace (juste ch1 dans l'exemple), temp <=> ch2, punct<=> : ou - et fin <=> ch3.