Fonction left mid right du basic en c turbo c++2 devc++4

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 851 fois - Téléchargée 38 fois

Contenu du snippet

IL S'AGIT DES FONCTIONS DU LANGAGE BASIC MID$ LEFT$ ET RIGHT$ en langage C

Source / Exemple :


/* PROGRAMME EN C SOUS DOS TURBO C++ DEVC++4
   ecrit le 22-03-2002 par cmarsc
   FONCTIONS DU BASIC LEFT MID RIGHT */
          
#include <conio.h>         /* <conio.c> devc++4 */
#include <stdio.h>
#include <string.h>        /* strlen strncpy */

char *C_LEFT(char *texte,int nbre_caracteres);
char *C_MID(char *texte,int depart, int fin);
char *C_RIGHT(char *texte,int nbre_caracteres);

int main(void) {
    
    char *resultat;
char *texte = "VOUS POUVEZ ENTRER LE TEXTE QUE VOUS SOUHAITEZ DANS CETTE ZONE";

	clrscr();

    /* afficher le texte entier */
    textcolor(WHITE);
   	gotoxy(1,1);
    cprintf ("%s",texte);      

	textcolor(LIGHTRED);
	/* afficher les 11 premieres lettres */
   	gotoxy(1,5);
	resultat = C_LEFT(texte,11);
    cprintf ("LEFT : %s",resultat);      

    textcolor(YELLOW);
	gotoxy(1, 7);
	/* afficher de la 11 eme lettre jusqu'au 46 eme caracteres  */
	resultat = C_MID(texte,11,46);
    cprintf ("MID : %s",resultat);      

    textcolor(LIGHTCYAN);
	gotoxy(1,9);
	/* afficher les 15 derniers caracteres */
	resultat = C_RIGHT(texte,15);
    cprintf ("RIGHT : %s",resultat);      

    getch();
return 0;
} /* fin de main */

char *C_LEFT(char *texte, int nbre_caracteres) {

	 static char resultat[80];
  
if (nbre_caracteres > 0 && nbre_caracteres < strlen(texte) ) {

     strncpy (resultat, texte, nbre_caracteres); 
     resultat[nbre_caracteres] = '\0';
}

return resultat ;
} /* fin de C_LEFT */

char *C_MID(char *texte, int depart, int fin) {
	
	static char resultat[80];

if (depart > 0 && fin < strlen(texte) ) {

     strncpy (resultat, texte + depart , fin - depart); 
	 resultat[fin - depart] = '\0';
}

return resultat;
} /* fin de C_MID */

char *C_RIGHT(char *texte, int nbre_caracteres) {
	 static char resultat[80];

if (nbre_caracteres > 0 && nbre_caracteres < strlen(texte) ) {
strncpy(resultat,texte + (strlen(texte) - nbre_caracteres), nbre_caracteres);
	resultat[nbre_caracteres] = '\0';
}
      
return resultat;
} /* fin de C_RIGHT */

Conclusion :


// PROGRAMME EN C SOUS DOS TURBO C++2 DEVC++4
// ecrit le 22-03-2002 par cmarsc

A voir également

Ajouter un commentaire

Commentaires

beeline
Messages postés
83
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
9 juin 2009
-
une petite precision:
La fonction mid en vb index a 1: je m'explique:
si on veut le premier caractére ou a: mid(str,1,1)
alors que sur ta fonction: C_MID(str,1,1) donne le deuxième !
faut juste le preciser.
cmarsc
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003
-
salut,
ce que tu dis es correct, en C/C++ l'indice commence à 0 et non a 1 pour le basic (cela dépend du langage).

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.