[c] wd_string v1.9

Description

Fonctions de gestion des chaînes de caractères en langage C.
Fonction ChaineCompare : Compare deux chaînes de caractères dans l'ordre des caractères ASCII ou dans l'ordre lexicographique.
Fonction Remplace : Remplace toutes les occurrences d'un mot dans une chaîne de caractères par un autre mot.
Fonction ChaineOccurrence : Calcule le nombre d'occurrences dans une chaîne de caractères.
Fonction PositionOccurrence : Recherche la Xème position d'une occurrence dans une chaîne de caractères.
Fonction Position : Recherche la position d'une chaîne de caractères dans une chaîne de caractères.
Fonction ChaineFormate : Formate une chaîne de caractères selon les critères choisis.
Fonction Val : Renvoie la valeur numérique d'une chaîne de caractères.
Fonction Majuscule : Convertit une chaîne de caractères en majuscules.
Fonction Minuscule : Convertit une chaîne de caractères en minuscule.
Fonction SansAccent : Remplace les caractères accentués d'une chaîne de caractères par des caractères non accentués.
Fonction SansEspace : Renvoie une chaîne de caractères sans les espaces situés à gauche et à droite.
Fonction AnsiVersOem : Convertit une chaîne de caractères au format ANSI (Windows) en une chaîne de caractères au format OEM (DOS).
Fonction OemVersAnsi : Convertit une chaîne de caractères au format OEM (DOS) en une chaîne de caractères au format ANSI (Windows).
Fonction Asc : Renvoie le code ASCII d'un caractère (format ANSI de Windows).
Fonction Caract : Renvoie le caractère correspondant au code ASCII (format ANSI de Windows).
Fonction Gauche : Extrait la partie gauche d'une chaîne de caractères (c'est-à-dire les X premiers caractères).
Fonction Droite : Extrait la partie droite d'une chaîne de caractères (c'est-à-dire les X derniers caractères).
Fonction Milieu : Extrait une partie d'une chaîne de caractères à partir d'une position donnée.
Fonction Taille : Renvoie la taille d'une chaîne de caractères.

Source / Exemple :


int main()
{
    char *Ma_Chaine = "Hello World!";
    char *Ma_Chaine_ANSI = "Cet été par la fenêtre, le soleil brûle. Il me faut de la crème.";
    char *Ma_Chaine_OEM = "Cet ?t? par la fen?tre, le soleil br?le. Il me faut de la cr?me.";
    char Ma_Chaine2[100];
    int Ma_Position = 0;

    printf("%d\n",Taille(Ma_Chaine)); // Renvoie 12
    printf("%d\n",Taille("Hello World!")); // Renvoie 12
    printf("%d\n",Taille("")); // Renvoie 0

    printf("%s\n",Gauche(Ma_Chaine,5)); // Renvoie "Hello"
    printf("%s\n",Gauche(Ma_Chaine,50)); // Renvoie "Hello World!"
    printf("%s\n",Gauche("Hello World!",5)); // Renvoie "Hello"
    printf("%s\n",Gauche("Hello World!     ",0)); // Renvoie "Hello World!"
    printf("%s\n",Gauche(Gauche("Hello World!     ",0),5)); // Renvoie "Hello"
    printf("%s\n",Gauche("",10)); // Renvoie ""
    printf("%s\n",Gauche("          ",5)); // Renvoie "     "
    printf("%s\n",Gauche("          ",0)); // Renvoie ""

    printf("%s\n",Droite(Ma_Chaine,6)); // Renvoie "World!"
    printf("%s\n",Droite(Ma_Chaine,50)); // Renvoie "Hello World!"
    printf("%s\n",Droite("Hello World!",6)); // Renvoie "World!"
    printf("%s\n",Droite("     Hello World!",0)); // Renvoie "Hello World!"
    printf("%s\n",Droite(Droite("     Hello World!",0),6)); // Renvoie "World!"
    printf("%s\n",Droite("",10)); // Renvoie ""
    printf("%s\n",Droite("          ",5)); // Renvoie "     "
    printf("%s\n",Droite("          ",0)); // Renvoie ""

    printf("%s\n",Gauche(Droite("   Hello World!   ",0),0)); // Renvoie "Hello World!"

    printf("%s\n",Milieu("Hello World!",0,5)); // Renvoie "Hello"
    printf("%s\n",Milieu(Ma_Chaine,1,5)); // Renvoie "Hello"
    printf("%s\n",Milieu("Hello World!",7,6)); // Renvoie "World!"
    printf("%s\n",Milieu(Ma_Chaine,7,50)); // Renvoie "World!"
    printf("%s\n",Milieu("Hello World!",50,1)); // Renvoie ""
    printf("%s\n",Milieu(Milieu(Ma_Chaine,7,6),6,1)); // Renvoie "!"
    printf("%s\n",Milieu("",0,1)); // Renvoie ""

    printf("%s\n",Milieu(Gauche(Droite("   Hello World!   ",0),0),7,6)); // Renvoie "World!"

    printf("%d\n",Asc(Ma_Chaine)); // Renvoie 72
    printf("%d\n",Asc("Hello World!")); // Renvoie 72
    printf("%d\n",Asc(Milieu(Milieu(Ma_Chaine,7,6),6,1))); // Renvoie 33
    printf("%d\n",Asc("?")); // Renvoie 128
    printf("%d\n",Asc("é")); // Renvoie 233
    printf("%d\n",Asc("")); // Renvoie 0

    printf("%s\n",Caract(72)); // Renvoie "H"
    printf("%s\n",Caract(128)); // Renvoie "?"(ANSI) "Ç"(OEM)
    printf("%s\n",Caract(233)); // Renvoie "é"(ANSI) "Ú"(OEM)
    printf("%s\n",Caract(0)); // Renvoie ""

    printf("%s\n",Caract(Asc("?"))); // Renvoie "?"(ANSI) "Ç"(OEM)
    printf("%s\n",Caract(Asc(Ma_Chaine))); // Renvoie "H"
    printf("%s\n",Caract(Asc(Milieu(Milieu(Ma_Chaine,7,6),6,1)))); // Renvoie "!"
    printf("%d\n",Asc(Caract(128))); // Renvoie 128
    printf("%d\n",Asc(Caract(72))); // Renvoie 72

    printf("%s\n",AnsiVersOem(Ma_Chaine)); // Renvoie "Hello World!"
    printf("%s\n",AnsiVersOem("")); // Renvoie ""
    printf("%s\n",AnsiVersOem("H?llo World!?")); // Renvoie "H_llo World!T"

    printf("%s\n",Ma_Chaine_ANSI);
    // Renvoie "Cet été par la fenêtre, le soleil brûle. Il me faut de la crème." (ANSI)
    // Renvoie "Cet ÚtÚ par la fenÛtre, le soleil br¹le. Il me faut de la crÞme." (OEM)
    printf("%s\n",AnsiVersOem(Ma_Chaine_ANSI));
    // Renvoie "Cet ?t? par la fen?tre, le soleil br?le. Il me faut de la cr?me." (ANSI)
    // Renvoie "Cet été par la fenêtre, le soleil brûle. Il me faut de la crème." (OEM)

    printf("%s\n",OemVersAnsi(Ma_Chaine)); // Renvoie "Hello World!"
    printf("%s\n",OemVersAnsi("")); // Renvoie ""
    printf("%s\n",OemVersAnsi("H?llo World!?")); // Renvoie "HÇllo World!Ö" (ANSI) "HÃllo World!Í" (OEM)

    printf("%s\n",Ma_Chaine_OEM);
    // Renvoie "Cet ?t? par la fen?tre, le soleil br?le. Il me faut de la cr?me." (ANSI)
    // Renvoie "Cet été par la fenêtre, le soleil brûle. Il me faut de la crème." (OEM)
    printf("%s\n",OemVersAnsi(Ma_Chaine_OEM));
    // Renvoie "Cet été par la fenêtre, le soleil brûle. Il me faut de la crème." (ANSI)
    // Renvoie "Cet ÚtÚ par la fenÛtre, le soleil br¹le. Il me faut de la crÞme." (OEM)

    printf("%s\n",OemVersAnsi(AnsiVersOem(Ma_Chaine_ANSI)));
    // Renvoie "Cet été par la fenêtre, le soleil brûle. Il me faut de la crème." (ANSI)
    // Renvoie "Cet ÚtÚ par la fenÛtre, le soleil br¹le. Il me faut de la crÞme." (OEM)
    printf("%s\n",AnsiVersOem(OemVersAnsi(Ma_Chaine_OEM)));
    // Renvoie "Cet ?t? par la fen?tre, le soleil br?le. Il me faut de la cr?me." (ANSI)
    // Renvoie "Cet été par la fenêtre, le soleil brûle. Il me faut de la crème." (OEM)

    printf("%s\n",SansEspace("   Hello World!   ")); // Renvoie "Hello World!"
    printf("%s\n",SansEspace("")); // Renvoie ""
    printf("%s\n",SansEspace("    ")); // Renvoie ""

    printf("%s\n",SansAccent(Ma_Chaine_ANSI)); // Renvoie "Cet ete par la fenetre, le soleil brule. Il me faut de la creme."
    printf("%s\n",SansAccent(OemVersAnsi(Ma_Chaine_OEM))); // Renvoie "Cet ete par la fenetre, le soleil brule. Il me faut de la creme."
    printf("%s\n",SansAccent("")); // Renvoie ""

    printf("%s\n",Majuscule("Hello World!")); // Renvoie "HELLO WORLD!"
    printf("%s\n",Majuscule(Ma_Chaine_ANSI));
    // Renvoie "CET ÉTÉ PAR LA FENÊTRE, LE SOLEIL BRÛLE. IL ME FAUT DE LA CRÈME." (ANSI)
    // Renvoie "CET +T+ PAR LA FEN-TRE, LE SOLEIL BRŠLE. IL ME FAUT DE LA CR+ME." (OEM)
    printf("%s\n",Majuscule("")); // Renvoie ""
    printf("%s\n",SansAccent(Majuscule(Ma_Chaine_ANSI))); // Renvoie "CET ETE PAR LA FENETRE, LE SOLEIL BRULE. IL ME FAUT DE LA CREME."
    printf("%s\n",AnsiVersOem(Majuscule(OemVersAnsi(Ma_Chaine_OEM))));
    // Renvoie "CET  T  PAR LA FENÒTRE, LE SOLEIL BRêLE. IL ME FAUT DE LA CRÔME." (ANSI)
    // Renvoie "CET ÉTÉ PAR LA FENÊTRE, LE SOLEIL BRÛLE. IL ME FAUT DE LA CRÈME." (OEM)

    printf("%s\n",Minuscule("HELLO WORLD!")); // Renvoie "hello world!"
    printf("%s\n",Minuscule(Majuscule(Ma_Chaine_ANSI)));
    // Renvoie "cet été par la fenêtre, le soleil brûle. il me faut de la crème." (ANSI)
    // Renvoie "cet ÚtÚ par la fenÛtre, le soleil br¹le. il me faut de la crÞme." (OEM)
    printf("%s\n",Minuscule("")); // Renvoie ""
    printf("%s\n",Minuscule(SansAccent(Majuscule(Ma_Chaine_ANSI)))); // Renvoie "cet ete par la fenetre, le soleil brule. il me faut de la creme."
    printf("%s\n",AnsiVersOem(Minuscule(Majuscule(OemVersAnsi(Ma_Chaine_OEM)))));
    // Renvoie "cet ?t? par la fen?tre, le soleil br?le. il me faut de la cr?me." (ANSI)
    // Renvoie "cet été par la fenêtre, le soleil brûle. il me faut de la crème." (OEM)

    sprintf(Ma_Chaine2," %c%c%c H,e;l:l?o W-o_r?l.d! %c%c%c%c%c",11,12,9,9,11,12,10,13);

    printf("%s\n",ChaineFormate("Hello World!",ccNormal)); // Renvoie "Hello World!"
    printf("%s\n",ChaineFormate("   Hello World!   ",ccNormal)); // Renvoie "   Hello World!   "
    printf("%s",ChaineFormate(Ma_Chaine2,ccNormal)); // Renvoie "      H,e;l:l?o W-o_r?l.d!     "

    printf("%s\n",ChaineFormate("   Hello World!   ",ccSansEspace)); // Renvoie "Hello World!"
    printf("%s\n",ChaineFormate(Ma_Chaine2,ccSansEspace)); // Renvoie "H,e;l:l?o W-o_r?l.d!"
    printf("%s\n",ChaineFormate("",ccSansEspace)); // Renvoie ""
    printf("%s\n",ChaineFormate("    ",ccSansEspace)); // Renvoie ""

    printf("%s\n",ChaineFormate(Ma_Chaine_ANSI,ccSansAccent)); // Renvoie "Cet ete par la fenetre, le soleil brule. Il me faut de la creme."
    printf("%s\n",ChaineFormate(OemVersAnsi(Ma_Chaine_OEM),ccSansAccent)); // Renvoie "Cet ete par la fenetre, le soleil brule. Il me faut de la creme."
    printf("%s\n",ChaineFormate("",ccSansAccent)); // Renvoie ""

    printf("%s\n",ChaineFormate("Hello World!",ccMajuscule)); // Renvoie "HELLO WORLD!"
    printf("%s\n",ChaineFormate(Ma_Chaine_ANSI,ccMajuscule));
    // Renvoie "CET ÉTÉ PAR LA FENÊTRE, LE SOLEIL BRÛLE. IL ME FAUT DE LA CRÈME." (ANSI)
    // Renvoie "CET +T+ PAR LA FEN-TRE, LE SOLEIL BRŠLE. IL ME FAUT DE LA CR+ME." (OEM)
    printf("%s\n",ChaineFormate("",ccMajuscule)); // Renvoie ""
    printf("%s\n",AnsiVersOem(ChaineFormate(OemVersAnsi(Ma_Chaine_OEM),ccMajuscule)));
    // Renvoie "CET  T  PAR LA FENÒTRE, LE SOLEIL BRêLE. IL ME FAUT DE LA CRÔME." (ANSI)
    // Renvoie "CET ÉTÉ PAR LA FENÊTRE, LE SOLEIL BRÛLE. IL ME FAUT DE LA CRÈME." (OEM)

    printf("%s\n",ChaineFormate(ChaineFormate(Ma_Chaine_ANSI,ccMajuscule),ccSansAccent)); // Renvoie "CET ETE PAR LA FENETRE, LE SOLEIL BRULE. IL ME FAUT DE LA CREME."
    printf("%s\n",ChaineFormate(Ma_Chaine_ANSI,ccMajuscule + ccSansAccent)); // Renvoie "CET ETE PAR LA FENETRE, LE SOLEIL BRULE. IL ME FAUT DE LA CREME."

    printf("%s\n",ChaineFormate("HELLO WORLD!",ccMinuscule)); // Renvoie "hello world!"
    printf("%s\n",ChaineFormate(ChaineFormate(Ma_Chaine_ANSI,ccMajuscule),ccMinuscule));
    // Renvoie "cet été par la fenêtre, le soleil brûle. il me faut de la crème." (ANSI)
    // Renvoie "cet ÚtÚ par la fenÛtre, le soleil br¹le. il me faut de la crÞme." (OEM)
    printf("%s\n",ChaineFormate("",ccMinuscule)); // Renvoie ""
    printf("%s\n",ChaineFormate(ChaineFormate(Ma_Chaine_ANSI,ccMajuscule + ccSansAccent),ccMinuscule)); // Renvoie "cet ete par la fenetre, le soleil brule. il me faut de la creme."
    printf("%s\n",AnsiVersOem(ChaineFormate(ChaineFormate(OemVersAnsi(Ma_Chaine_OEM),ccMajuscule),ccMinuscule)));
    // Renvoie "cet ?t? par la fen?tre, le soleil br?le. il me faut de la cr?me." (ANSI)
    // Renvoie "cet été par la fenêtre, le soleil brûle. il me faut de la crème." (OEM)

    printf("%s\n",ChaineFormate("Hello World!",ccSansPonctuationNiEspace)); // Renvoie "HelloWorld"
    printf("%s\n",ChaineFormate("   Hello World!   ",ccSansPonctuationNiEspace)); // Renvoie "HelloWorld"
    printf("%s\n",ChaineFormate(Ma_Chaine2,ccSansPonctuationNiEspace)); // Renvoie "HelloWorld"
    printf("%s\n",ChaineFormate("",ccSansPonctuationNiEspace)); // Renvoie ""
    printf("%s\n",ChaineFormate("    ",ccSansPonctuationNiEspace)); // Renvoie ""

    printf("%s\n",ChaineFormate(Ma_Chaine2,ccMajuscule + ccSansEspace)); // Renvoie "H,E;L:L?O W-O_R?L.D!"
    printf("%s\n",ChaineFormate(Ma_Chaine2,ccMajuscule + ccSansPonctuationNiEspace)); // Renvoie "HELLOWORLD"
    printf("%s\n",ChaineFormate(Ma_Chaine2,ccMajuscule + ccSansEspace + ccSansPonctuationNiEspace)); // Renvoie "HELLOWORLD"
    printf("%s\n",ChaineFormate(Ma_Chaine2,ccMinuscule + ccSansEspace)); // Renvoie "h,e;l:l?o w-o_r?l.d!"
    printf("%s\n",ChaineFormate(Ma_Chaine2,ccMinuscule + ccSansPonctuationNiEspace)); // Renvoie "helloworld"
    printf("%s\n",ChaineFormate(Ma_Chaine2,ccMinuscule + ccSansEspace + ccSansPonctuationNiEspace)); // Renvoie "helloworld"

    printf("%s\n",ChaineFormate(Ma_Chaine_ANSI,ccMajuscule + ccSansAccent + ccSansEspace + ccSansPonctuationNiEspace));
    // Renvoie "CETETEPARLAFENETRELESOLEILBRULEILMEFAUTDELACREME"
    printf("%s\n",ChaineFormate(Ma_Chaine_ANSI,ccMinuscule + ccSansAccent + ccSansEspace + ccSansPonctuationNiEspace));
    // Renvoie "ceteteparlafenetrelesoleilbruleilmefautdelacreme"

    printf("%f\n",Val("45",10)); // Renvoie 45.000000
    printf("%f\n",Val("45",'d')); // Renvoie 45.000000
    printf("%f\n",Val("45",0)); // Renvoie 45.000000
    printf("%f\n",Val("45",33)); // Renvoie 45.000000
    printf("%.10f\n",Val("3.1415926535",'d')); // Renvoie 3.1415926535
    printf("%.10f\n",Val("3,1415926535",'d')); // Renvoie 3.0000000000
    printf("%f\n",Val("0.5e-2",'d')); // Renvoie 0.005000
    printf("%f\n",Val("FF",'d')); // Renvoie 0.000000
    printf("%f\n",Val("3+3",'d')); // Renvoie 3.000000

    printf("%f\n",Val("FF",16)); // Renvoie 255.000000
    printf("%f\n",Val("FF",'x')); // Renvoie 255.000000
    printf("%f\n",Val("0xFF",'x')); // Renvoie 255.000000
    printf("%f\n",Val("ff",16)); // Renvoie 255.000000
    printf("%f\n",Val("3fF",16)); // Renvoie 1023.000000

    printf("%f\n",Val("4321",'o')); // Renvoie 2257.000000
    printf("%f\n",Val("4321",8)); // Renvoie 2257.000000

    printf("%f\n",Val("11111111",2)); // Renvoie 255.000000
    printf("%f\n",Val("VV",32)); // Renvoie 1023.000000

    printf("%d\n",Position("Hello World!","ell",1,DepuisDebut)); // Renvoie 2 (position du "e" de "Hello")
    printf("%d\n",Position("Hello World!","elx",1,DepuisDebut)); // Renvoie 0 (pas de "elx" dans la chaîne source)
    printf("%d\n",Position(Ma_Chaine,"o",1,DepuisDebut)); // Renvoie 5 (position du "o" de "Hello")
    printf("%d\n",Position(Ma_Chaine,"o",6,DepuisDebut)); // Renvoie 8 (position du "o" de "World")
    printf("%d\n",Position(Ma_Chaine,"o",9,DepuisDebut)); // Renvoie 0 (pas "o" après la position 9)
    printf("%d\n",Position(Ma_Chaine,"Hello",50,DepuisDebut)); // Renvoie 0 (la position de départ > la taille de la chaîne source)
    printf("%d\n",Position("","Hello World!",1,DepuisDebut)); // Renvoie 0 (la chaîne source est nulle)
    printf("%d\n",Position("Hello World!","",1,DepuisDebut)); // Renvoie 0 (la chaîne recherchée est nulle)
    printf("%d\n",Position("Hello","Hello World!",1,DepuisDebut)); // Renvoie 0 (la chaîne recherchée > la chaîne source)
    printf("%d\n",Position("Hello World!","ell",0,DepuisDebut)); // Renvoie 2 (position du "e" de "Hello")
    printf("%d\n",Position("Hello World!","ell",-50,DepuisDebut)); // Renvoie 2 (position du "e" de "Hello")
    printf("%d\n",Position("Hello World!","Hello World!",1,DepuisDebut)); // Renvoie 1 (position du "H" de "Hello")
    printf("%d\n",Position("Hello World!","Hello World!",5,DepuisDebut)); // Renvoie 0 (pas "Hello World!" après la position 5)

    printf("%d\n",Position("Hello World!","ell",12,DepuisFin)); // Renvoie 2 (position du "e" de "Hello")
    printf("%d\n",Position(Ma_Chaine,"ell",Taille(Ma_Chaine),DepuisFin)); // Renvoie 2 (position du "e" de "Hello")
    printf("%d\n",Position("Hello World!","o",12,DepuisFin)); // Renvoie 8 (position du "o" de "World")
    printf("%d\n",Position("Hello World!","o",7,DepuisFin)); // Renvoie 5 (position du "o" de "Hello")
    printf("%d\n",Position("Hello World!","o",4,DepuisFin)); // Renvoie 0 (pas "o" avant la position 4)
    printf("%d\n",Position("Hello World!","ell",50,DepuisFin)); // Renvoie 2 (position du "e" de "Hello")
    printf("%d\n",Position("Hello World!","ell",0,DepuisFin)); // Renvoie 2 (position du "e" de "Hello")
    printf("%d\n",Position("Hello World!","ell",-50,DepuisFin)); // Renvoie 0 (la position de départ < la taille de la chaîne source)

    printf("%d\n",Position("Hello World!","HeLlO",1,DepuisDebut)); // Renvoie 0 (pas de "HeLlO" dans la chaîne source)
    printf("%d\n",Position("Hello World!","HeLlO",1,DepuisDebut + SansCasse)); // Renvoie 1 (position du "H" de "Hello")
    printf("%d\n",Position("Hello World!","ELL",1,SansCasse)); // Renvoie 2 (position du "e" de "Hello")
    printf("%d\n",Position("Hello World!","ELL",12,DepuisFin + SansCasse)); // Renvoie 2 (position du "e" de "Hello")
    printf("%d\n",Position(Majuscule(Ma_Chaine),"ell",Taille(Ma_Chaine),DepuisFin + SansCasse)); // Renvoie 2 (position du "e" de "Hello")

    printf("%d\n",Position("Hello World!","ell",1,DepuisDebut + MotComplet)); // Renvoie 0 ("ell" n'est pas un mot complet)
    printf("%d\n",Position("H ell o World!","ell",1,DepuisDebut + MotComplet)); // Renvoie 3 (position du "e" de "H ell o")
    printf("%d\n",Position("H'ell.o World!","ell",1,DepuisDebut + MotComplet)); // Renvoie 3 (position du "e" de "H'ell.o")
    printf("%d\n",Position("Hello World!","Hello",1, MotComplet)); // Renvoie 1 (position du "H" de "Hello")
    printf("%d\n",Position("Hello World!","world",1, SansCasse + MotComplet)); // Renvoie 7 (position du "W" de "World")
    printf("%d\n",Position("Hello World!","world!",1, DepuisDebut + SansCasse + MotComplet)); // Renvoie 7 (position du "W" de "World!")
    printf("%d\n",Position("Hello World!","Hello",0, DepuisFin + MotComplet)); // Renvoie 1 (position du "H" de "Hello")
    printf("%d\n",Position(Ma_Chaine,"world",Taille(Ma_Chaine), DepuisFin + SansCasse + MotComplet)); // Renvoie 7 (position du "W" de "World")

    printf("%d\n",PositionOccurrence("Hehehello Worldrldrld!","he",1,DepuisDebut)); // Renvoie 3 (Recherche du 1er "he" en partant du début)
    printf("%d\n",PositionOccurrence("Hehehello Worldrldrld!","he",2,DepuisDebut)); // Renvoie 5 (Recherche du 2ème "he" en partant du début)
    printf("%d\n",PositionOccurrence("Hehehello Worldrldrld!","elx",1,DepuisDebut)); // Renvoie 0 (pas de "elx" dans la chaîne source)
    printf("%d\n",PositionOccurrence(Ma_Chaine,"Hello",50,DepuisDebut)); // Renvoie 0 (la position de l'occurrence > la taille de la chaîne source)
    printf("%d\n",PositionOccurrence("","Hello World!",1,DepuisDebut)); // Renvoie 0 (la chaîne source est nulle)
    printf("%d\n",PositionOccurrence("Hello World!","",1,DepuisDebut)); // Renvoie 0 (l'occurrence recherchée est nulle)
    printf("%d\n",PositionOccurrence("Hello","Hello World!",1,DepuisDebut)); // Renvoie 0 (l'occurrence recherchée > la chaîne source)
    printf("%d\n",PositionOccurrence("Hello World!","ell",0,DepuisDebut)); // Renvoie 0 (la position de l'occurrence = 0)
    printf("%d\n",PositionOccurrence("Hello World!","ell",-50,DepuisDebut)); // Renvoie 0 (la position de l'occurrence < 0)
    printf("%d\n",PositionOccurrence("Hello World!","Hello World!",1,DepuisDebut)); // Renvoie 1 (Recherche du 1er "Hello World!" en partant du début)
    printf("%d\n",PositionOccurrence("Hello World!","Hello World!",2,DepuisDebut)); // Renvoie 0 (pas de 2ème "Hello World!" dans la chaîne source)

    printf("%d\n",PositionOccurrence("Hehehello Worldrldrld!","rld",1,DepuisFin)); // Renvoie 19 (Recherche du 1er "rld" en partant de la fin)
    printf("%d\n",PositionOccurrence("Hehehello Worldrldrld!","rld",2,DepuisFin)); // Renvoie 16 (Recherche du 2ème "rld" en partant de la fin)

    printf("%d\n",PositionOccurrence("Hehehello Worldrldrld!","he",1,DepuisDebut + SansCasse)); // Renvoie 1 (Recherche du 1er "he" en partant du début)
    printf("%d\n",PositionOccurrence("Hehehello Worldrldrld!","HE",3,SansCasse)); // Renvoie 5 (Recherche du 3ème "HE" en partant du début)
    printf("%d\n",PositionOccurrence("Hehehello Worldrldrld!","wor",1,DepuisFin)); // Renvoie 0 (pas de "wor" dans la chaîne source)
    printf("%d\n",PositionOccurrence("Hehehello Worldrldrld!","wor",1,DepuisFin + SansCasse)); // Renvoie 11 (Recherche du 1er "wor" en partant de la fin)

    printf("%d\n",PositionOccurrence("Hello World!","ell",1,DepuisDebut + MotComplet)); // Renvoie 0 ("ell" n'est pas un mot complet)
    printf("%d\n",PositionOccurrence("H ell o World!","ell",1,DepuisDebut + MotComplet)); // Renvoie 3 (Recherche du 1er "ell" en partant du début)
    printf("%d\n",PositionOccurrence("H'ell.o World!","ell",1,DepuisDebut + MotComplet)); // Renvoie 3 (Recherche du 1er "ell" en partant du début)
    printf("%d\n",PositionOccurrence("Hello World!","Hello",1, MotComplet)); // Renvoie 1 (Recherche du 1er "Hello" en partant du début)
    printf("%d\n",PositionOccurrence("Hello World!","world",1, SansCasse + MotComplet)); // Renvoie 7 (Recherche du 1er "world" en partant du début)
    printf("%d\n",PositionOccurrence("Hello World!","world!",1, DepuisDebut + SansCasse + MotComplet)); // Renvoie 7 (Recherche du 1er "world!" en partant du début)
    printf("%d\n",PositionOccurrence("Hello World!","Hello",1, DepuisFin + MotComplet)); // Renvoie 1 (Recherche du 1er "Hello" en partant de la fin)
    printf("%d\n",PositionOccurrence(Ma_Chaine,"world",1, DepuisFin + SansCasse + MotComplet)); // Renvoie 7 (Recherche du 1er "world" en partant de la fin)

    Ma_Position = PositionOccurrence("Hehehello Worldrldrld!","e",rangPremier,DepuisDebut);
    while(Ma_Position != 0)
    {
        printf("%d\t",Ma_Position); // Renvoie 2    4   6
        Ma_Position = PositionOccurrence("Hehehello Worldrldrld!","e",rangSuivant,DepuisDebut);
        if (Ma_Position == 0) printf("\n");
    }

    Ma_Position = PositionOccurrence("Hehehello Worldrldrld!","rld",rangDernier,DepuisFin);
    while(Ma_Position != 0)
    {
        printf("%d\t",Ma_Position); // Renvoie 19   16  13
        Ma_Position = PositionOccurrence("Hehehello Worldrldrld!","rld",rangPrecedent,DepuisFin);
        if (Ma_Position == 0) printf("\n");
    }

    Ma_Position = PositionOccurrence(Ma_Chaine_ANSI,"LA",rangPremier,DepuisDebut + SansCasse + MotComplet);
    while(Ma_Position != 0)
    {
        printf("%d\t",Ma_Position); // Renvoie 13   56
        Ma_Position = PositionOccurrence(Ma_Chaine_ANSI,"LA",rangSuivant,SansCasse + MotComplet);
        if (Ma_Position == 0) printf("\n");
    }

    Ma_Position = PositionOccurrence(Ma_Chaine_ANSI,"LA",rangDernier,SansCasse + MotComplet);
    while(Ma_Position != 0)
    {
        printf("%d\t",Ma_Position); // Renvoie 56   13
        Ma_Position = PositionOccurrence(Ma_Chaine_ANSI,"LA",rangPrecedent,DepuisFin + SansCasse + MotComplet);
        if (Ma_Position == 0) printf("\n");
    }

    printf("%d\n",ChaineOccurrence("Hehehello Worldrldrld!","he",0)); // Renvoie 2
    printf("%d\n",ChaineOccurrence("Hehehello Worldrldrld!","l",0)); // Renvoie 5
    printf("%d\n",ChaineOccurrence("Hehehello Worldrldrld!","elx",0)); // Renvoie 0 (pas de "elx" dans la chaîne source)
    printf("%d\n",ChaineOccurrence("","he",0)); // Renvoie 0 (la chaîne source est nulle)
    printf("%d\n",ChaineOccurrence(Ma_Chaine,"",0)); // Renvoie 0 (la chaîne recherchée est nulle)
    printf("%d\n",ChaineOccurrence("Hello",Ma_Chaine,0)); // Renvoie 0 (la chaîne recherchée > la chaîne source)
    printf("%d\n",ChaineOccurrence(Ma_Chaine,Ma_Chaine,0)); // Renvoie 1

    printf("%d\n",ChaineOccurrence("Hehehello Worldrldrld!","he",SansCasse)); // Renvoie 3
    printf("%d\n",ChaineOccurrence("Hello World!","ell", MotComplet)); // Renvoie 0 ("ell" n'est pas un mot complet)
    printf("%d\n",ChaineOccurrence("H ell o World!","ell", MotComplet)); // Renvoie 1
    printf("%d\n",ChaineOccurrence("H'ell;o World!","ell", MotComplet)); // Renvoie 1
    printf("%d\n",ChaineOccurrence(Ma_Chaine_ANSI,"LA", SansCasse + MotComplet)); // Renvoie 2

    printf("%s\n",Remplace(Ma_Chaine,"o","X",0)); // Renvoie "HellX WXrld!"
    printf("%s\n",Remplace("Hello XXX World!","XXX","xyz",0)); // Renvoie "Hello xyz World!"
    printf("%s\n",Remplace("Hello World!","XXX","xyz",0)); // Renvoie "Hello World!" (pas de "XXX" dans la chaîne source)
    printf("%s\n",Remplace("","XXX","xyz",0)); // Renvoie "" (la chaîne source est nulle)
    printf("%s\n",Remplace("Hello World!","","xyz",0)); // Renvoie "Hello World!" (la chaîne recherchée est nulle)
    printf("%s\n",Remplace(Ma_Chaine,"o","",0)); // Renvoie "Hell Wrld!"
    printf("%s\n",Remplace(Ma_Chaine,Ma_Chaine,"XXX",0)); // Renvoie "XXX"

    printf("%s\n",Remplace("Hello XXX World!","xxx","abcdef",0)); // Renvoie "Hello XXX World!" (pas de "xxx" dans la chaîne source)
    printf("%s\n",Remplace("Hello XXX World!","xxx","abcdef",SansCasse)); // Renvoie "Hello abcdef World!"
    printf("%s\n",Remplace("Hello World!","ell","lle",MotComplet)); // Renvoie "Hello World!" ("ell" n'est pas un mot complet)
    printf("%s\n",Remplace("H ell o World!","ell","lle",MotComplet)); // Renvoie "H lle o World!"
    printf("%s\n",Remplace("H_ell-o World!","ell","lle",MotComplet)); // Renvoie "H_lle-o World!"
    printf("%s\n",Remplace("Hello World!","hello","Hola",MotComplet + SansCasse)); // Renvoie "Hola World!"

    printf("%s\n",Remplace(Remplace("XXX YYY","XXX","Hello",0),"YYY","World!",0)); // Renvoie "Hello World!"

    printf("%d\n",ChaineCompare(Ma_Chaine,Ma_Chaine,ccNormal)); // Renvoie 0
    printf("%d\n",ChaineCompare("Hello",Ma_Chaine,ccNormal)); // Renvoie -1
    printf("%d\n",ChaineCompare(Ma_Chaine,"Hello",ccNormal)); // Renvoie 1
    printf("%d\n",ChaineCompare("","Hello World!",ccNormal)); // Renvoie -1
    printf("%d\n",ChaineCompare("Hello World!","",ccNormal)); // Renvoie 1

    printf("%d\n",ChaineCompare("Hello World...","Hello World!",ccNormal)); // Renvoie 1
    printf("%d\n",ChaineCompare("Hello World...","Hello World!",ccSansPonctuationNiEspace)); // Renvoie 0
    printf("%d\n",ChaineCompare("   Hello World!   ","Hello World! ",ccSansEspace)); // Renvoie 0
    printf("%d\n",ChaineCompare("   Hello World...   ","Hello World!   ",ccSansPonctuationNiEspace + ccSansEspace)); // Renvoie 0

    printf("%d\n",ChaineCompare("uéè...","ùèé...",ccNormal)); // Renvoie -1
    printf("%d\n",ChaineCompare("uéè...","ùèé...",ccSansAccent)); // Renvoie 0
    printf("%d\n",ChaineCompare("uéè.","ùèé;",ccSansAccent + ccSansPonctuationNiEspace)); // Renvoie 0
    printf("%d\n",ChaineCompare("uéè   ","   ùèé",ccSansAccent + ccSansEspace)); // Renvoie 0
    printf("%d\n",ChaineCompare("uéè...   ","   ùèé;",ccSansAccent + ccSansEspace + ccSansPonctuationNiEspace)); // Renvoie 0

    printf("%d\n",ChaineCompare("hello world!","Hello World!",ccNormal)); // Renvoie 1
    printf("%d\n",ChaineCompare("hello world!","Hello World!",ccSansCasse)); // Renvoie 0
    printf("%d\n",ChaineCompare("hello world%","Hello World?",ccSansCasse + ccSansPonctuationNiEspace)); // Renvoie 0
    printf("%d\n",ChaineCompare("hello world   ","   Hello World",ccSansCasse + ccSansEspace)); // Renvoie 0
    printf("%d\n",ChaineCompare("uéè","UEE",ccSansCasse + ccSansAccent)); // Renvoie 0
    printf("%d\n",ChaineCompare("   uéè%","U E E?   ",ccSansCasse + ccSansPonctuationNiEspace + ccSansEspace + ccSansAccent)); // Renvoie 0

    printf("%d\n",ChaineCompare("à","b",ccNormal)); // Renvoie 1
    printf("%d\n",ChaineCompare("à","b",ccOrdreLexicographique)); // Renvoie -1 (le carctère "à" est compris entre les caractère "a" et "b")

    printf("%d\n",ChaineCompare("zzz9abcd","zzz10abcd",ccNormal)); // Renvoie 1
    printf("%d\n",ChaineCompare("zzz9abcd","zzz10abcd",ccRespecteNumerique)); // Renvoie -1 (le nombre 10 est supérieur au nombre 9)

    printf("%d\n",ChaineCompare(" aB9--","àb9##   ",ccRespecteNumerique + ccOrdreLexicographique + ccSansCasse + ccSansAccent + ccSansEspace + ccSansPonctuationNiEspace)); // Renvoie 0

    return 0;
}

Codes Sources

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.

Du même auteur (cyberripper)