begin process at 2012 05 27 20:06:18
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caractères

 > INVERSESTRING ( CHAINE DE CARACTÈRE )

INVERSESTRING ( CHAINE DE CARACTÈRE )


 Information sur la source

Note :
Aucune note
Catégorie :Chaîne de caractères Classé sous :chaîne, caractères, inverse Niveau :Débutant Date de création :05/07/2001 Date de mise à jour :18/05/2007 02:24:17 Vu :8 712

Auteur : NitRic

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Simple code pour inverser une chaine du genre->

Salut ca va bien

Deviendras:

neib av ac tulaS  

Source

  • #include <stdio.h>
  • // Prototype
  • char * InverseString( char *, unsigned );
  • int main()
  • {
  • char MaChaine[] = "Bonjour, c'est moi NitRic! Ca va bien?";
  • printf("%s\n", InverseString( chaine, -1 ));
  • return 0;
  • }
  • /********************************************
  • *
  • Inverser une chaine de caractères
  • string => chaine à inverser
  • count => nombre de caractère à inverser
  • mettre -1 pour inverser toute la chaine
  • renvoie la chaine une fois inversée
  • si `count` vaut 0, renvoie la chaine inchangée
  • *
  • ********************************************/
  • char * InverseString( char *string, unsigned count )
  • {
  • char ch;
  • char * left;
  • char * right;
  • if ( NULL != (right = string) )
  • {
  • while ( count && *right )
  • ++right, --count;
  • left = string;
  • while ( left < right-- )
  • {
  • ch = *left; /* sauvegarde gauche */
  • *left++ = *right; /* met droite dans gauche */
  • *right = ch; /* met ancien gauche dans droite */
  • }
  • }
  • return string;
  • }
#include <stdio.h>

// Prototype
char * InverseString( char *, unsigned );

int main()
{

    char MaChaine[] = "Bonjour, c'est moi NitRic! Ca va bien?";

    printf("%s\n", InverseString( chaine, -1 ));
    return 0;

}

/********************************************
 *
    Inverser une chaine de caractères

    string    => chaine à inverser
    count    => nombre de caractère à inverser
                      mettre -1 pour inverser toute la chaine

    renvoie la chaine une fois inversée

    si `count` vaut 0, renvoie la chaine inchangée
 *
 ********************************************/
char * InverseString( char *string, unsigned count )
{

  char ch;
  char * left;
  char * right;

  if ( NULL != (right = string) )
  {

    while ( count && *right )
      ++right, --count;

    left = string;
    while ( left < right-- )
    {

      ch = *left;  /* sauvegarde gauche */
      *left++ = *right;  /* met droite dans gauche */
      *right = ch;  /* met ancien gauche dans droite */

    }

  }

  return string;

}


 Conclusion

En cas de problème avec ce code ou autres-> , laissez moi un message!  


 Historique

08 mars 2005 00:28:19 :
Plus rapide!? Plus sécuritaire!? Plus ...
08 mars 2005 00:31:36 :
Correction du prototype ...
18 mai 2007 02:24:17 :
ajout des mots clés( Vous aussi, mettez vos sources à jour !!! Ajoutez les mots clés !!! )

 Sources du même auteur

TRONQUER UN FICHIER(C - WINDOWS)
COMMENT CALCULER LE TEMP D'EXÉCUTION DE CERTAINES FONCTIONS ...
Source avec Zip VSTACK ( EFFET DE PILE ) / TEMPLATE
Source avec Zip NENGINE ( MOTEUR DE RECHERCHE POUR FICHIER ) (UPDATE)
Source avec Zip NLIST ( TEMPLATE )

 Sources de la même categorie

CALCUL DE CLEF RIB par Renfield
Source avec Zip [C] WD_STRING V2.2 par cyberripper
Source avec Zip LES STRING EN C, AFFECTATION, CONCATÉNATION, SPLIT, ... par appranting
Source avec Zip [C] WD_STRING V1.9 par cyberripper
Source avec Zip LIBRAIRIE LANGUAGES par astro53

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CLASS MATRICE C++ par elkasimi2007
LES OPÉRATIONS DE LA LISTE CHAINÉE par smaili
Source avec Zip NSTRING (UPDATE) VERSION 1.5 par NitRic
Source avec Zip LES FONCTIONS TRIM, RTRIM ET LTRIM DE VB EN C++ ( CHAINE DE ... par NitRic
Source avec Zip UPPOINTCHAR ( CHAINE DE CARACTÈRE ) par NitRic

Commentaires et avis

Commentaire de jcfcool12 le 19/06/2009 15:40:23

Quelqu'un a déjà essayé de moduler sont code et de mettre la fonction InverseString dans un *.c , *.h apart de son Main (ou de tout autre fonction voulant faire appel à elle) car moi sa fait tout simplement "crasher" mon application

Fonction qui appel InverseString

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <ctosapi.h>                
#include <ctos_newlib_startup.h>

//MY OWN HEADER FILES
#include "UVScreen.h"
#include "DISPLAY_ERROR.h"
#include "InverseString.h"

BYTE key;

int UVScreen(char TITLE[],char STRING[],char FORMAT[], char MASK[],char VALUE[])
{
    BOOL IsCash;
    
    if( strlen(TITLE) > 17 ) { DISPLAY_ERROR(1);return 1;}
    if( strlen(STRING) > 17 ) { DISPLAY_ERROR(2);return 1;}
    
    IsCash = (FORMAT[0] == '$')? TRUE : FALSE;
    
    if(IsCash){
        
        InverseString ( FORMAT );
        CTOS_LCDTPrint ( FORMAT );
    }
    
    return 0;
}


INVERSESTRING.C

#include <stdio.h>
#include "InverseString.h"

char * InverseString( char *string)
{
    unsigned count = -1;
    char ch;
    char * left = NULL;
    char * right = NULL;
    if ( NULL != (right = string) )
    {
        while ( count && *right )
            ++right, --count;
        left = string;
        while ( left < right-- )
        {
            ch = *left;  /* sauvegarde gauche */
            *left++ = *right;  /* met droite dans gauche */
            *right = ch;  /* met ancien gauche dans droite */
        }
    }
  return string;
}

INVERSESTRING.H

/*
* File:   InverseString.h
* Author: jcfortin
*
* Created on 19 juin 2009, 08:55
*/

#ifndef _InverseString_H
#define _InverseString_H

#ifdef __cplusplus
extern "C" {
#endif

char * InverseString( char *);


#ifdef __cplusplus
}
#endif

#endif /* _InverseString_H */

Commentaire de yasminala le 12/02/2011 11:24:36

bonjour,
voici un programme qui permet d'inverser une chaine de caracteres:



#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
      int l,i,N; char T[100];
      printf("entrer la taille: ");scanf("%d",&N);
      printf("\nentrer une chaine: "); scanf("%s",T);
      l=strlen(T);
for(i=0;i<l/2;i++)
{ char Z;
  Z=T[i];
  T[i]=T[l-i-1];
  T[l-i-1]=Z;}
  puts(T);
  getch();
}

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Pb Chaîne de caractères [ par mmuller57 ] Bonjour,J'ai créé un petit programme qui convertit les caractères d'une chaîne de caractères par leurs codes ASCII :#include &lt;iostream&gt;#include Affichage d'une chaîne de caractères [ par kalf2000 ] bonjour,j'ai un petit souci, je réussit à récupérer à partir d'un fichier texte une chaîne de caractère et à la mettre dans un tableau de caractère (c Conversion d'un DWORD en chaîne de caractères [ par annplop ] Bonjour,je code en c++ (avec visual c++ 6), et j'ai besoin de convertir une variable de type DWORD en chaîne de caractères.Est-ce possible et si oui c découper une chaîne da caractères à partir d'un caratère point"." [ par oudkaramla ] salut tout le monde,j'ai un problème:si j'ai une chaîne de caractère(nom du fichier par exemple) dont je ne sais pas la longeur, comment je fais pour lire des caractères dans une chaîne [ par phenX ] voila mon probl&#232;me: j'ai une cha&#238;ne de caract&#232;re (qu'on nommera ChCar) saisi par l'utilisateur, je voudrais pouvoir connaitre les quatr concatenation d'une chaîne de caractères [ par davdav73 ] Alors je c=programme sous builder 6 C++ et je voudrais savoir comment ajouter des chiffres entiers les uns apr&#232;s les autres. J'ai un pav&#233; nu chaîne de caractères [ par ProgVal ] Bojour,Comment faît-on pour "découper" une chaîne de cerartères? Par exemple 1 caractère sur 2.Merci d'avanceShowMessage ("signé ProgVal") comment retrouver l'adresse d'une chaîne de caractères dans un tableau de chaînes de caractères [ par telecomakram ] Bonjour,Comment je peux de retrouver l'adresse d'une chaîne de caractères dans un tableau de chaînes de caractères Son prototype sera: <font face conversion d'une chaîne de caractères en hexa [ par AnneG35 ] Bonjour,Je développe un module à intégrer à un serveur, en C++ sous Visual Studio. Les échanges client-serveur sont des requêtes binaires. Pour constr


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales