Afficher caractère d'une chaine

Signaler
Messages postés
9
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
5 avril 2008
-
Messages postés
9
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
5 avril 2008
-
Bonjour, je cherche à afficher seulement quelque caractère d'une string.

Exemple: Mathématique, j'aimerai juste afficher Math.

Merci d'avance

Ju

4 réponses

Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
Salut

tu peux faire quelque chose comme ca:

void AfficheN(char *Src, int N)
{
   char *Dest=new char[N+1];   //+1 pour le \0
   char *P=Src,*Q=Dest;
   for(int i=0;i<N;i++)
   {
      if(*P==0)break;
      *Q=*P;
      Q++;P++;
   }

   Q=0;
   printf("%s",Dest)
   delete  []Dest;
}

A+
Mon site internet : http://pistol.petesampras.free.fr
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
ou alors sans alloc:


void AfficheN(char *Src, DWORD N)
{
  DWORD i = 0;
  char a;
  while(a = Src[i++]) {
    if(i >= N) break;
  }
  Src[i] = 0;
  printf("%s", Src);
  Src[i] = a;
}


Pas le temps de tester.

ciao...
BruNews, MVP VC++
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
strncpy.

char str[] = "Mathematique";
char tmp[30];

strncpy(tmp, &str[5], 4);
tmp[4] = 0;

printf("%s\n", tmp);

Sera affiché "mati".

C++ (@++)<!--
Messages postés
9
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
5 avril 2008

Bonjour, j'ai trouvé mais d'une manière différente:

directement dans le printf:

printf("%.4s",maString);

Merci quand même