- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <windows.h>
-
- int lsa_replace(char *Text, char *Motif, char *Replace);
-
- int main(int argc, char *argv[])
- {
- int iReplace;
-
- char szMotif[255];
- char szReplace[255];
-
- char *szText;
-
- szText = (char *)malloc(sizeof(char *) * 1024);
- if(!szText) { printf("Erreur d'allocation mémoire."); return 0; }
-
- strcpy(szText, "Ceci est un petit test ! :) Comment allez vous ?");
-
- printf("Motif a rechercher (255) :\n");
- scanf("%s", &szMotif);
-
- printf("Remplacer par (255) :\n");
- scanf("%s", &szReplace);
-
- iReplace = lsa_replace(szText, (char *)&szMotif, (char *)&szReplace);
- printf("\n\nResultat (%i remplacements effectues) :\n%s", iReplace, szText);
-
- free(szText);
-
- // Quit
- int end;
- printf("\n\n");
- scanf("%i", &end);
-
- return 0;
- }
-
- int lsa_replace(char *Text, char *Motif, char *Replace)
- {
- char *szNewStr;
- int iLenNewStr = strlen(Text);
- int i, j, k, iReplace=0;
-
- szNewStr = (char *)malloc(sizeof(char *) * iLenNewStr);
- if(!szNewStr) { return 0; }
-
- for(i=0; Text[i]; i++)
- {
- if(Text[i] == Motif[0])
- {
- for(j=1; Motif[j] && (Motif[j] == Text[i+j]); j++);
- if(Motif[j] == '\0') // Ok
- {
- iReplace++;
-
- for(k=0; Text[k+i+j]; k++)
- szNewStr[k] = Text[k+i+j];
- szNewStr[k] = '\0';
-
- for(k=0; Replace[k]; k++,i++)
- Text[i] = Replace[k];
- for(k=0; szNewStr[k]; k++)
- Text[i+k] = szNewStr[k];
- Text[i+k] = '\0';
- i--;
- }
- }
- }
-
- free(szNewStr);
-
- return iReplace;
- }
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
int lsa_replace(char *Text, char *Motif, char *Replace);
int main(int argc, char *argv[])
{
int iReplace;
char szMotif[255];
char szReplace[255];
char *szText;
szText = (char *)malloc(sizeof(char *) * 1024);
if(!szText) { printf("Erreur d'allocation mémoire."); return 0; }
strcpy(szText, "Ceci est un petit test ! :) Comment allez vous ?");
printf("Motif a rechercher (255) :\n");
scanf("%s", &szMotif);
printf("Remplacer par (255) :\n");
scanf("%s", &szReplace);
iReplace = lsa_replace(szText, (char *)&szMotif, (char *)&szReplace);
printf("\n\nResultat (%i remplacements effectues) :\n%s", iReplace, szText);
free(szText);
// Quit
int end;
printf("\n\n");
scanf("%i", &end);
return 0;
}
int lsa_replace(char *Text, char *Motif, char *Replace)
{
char *szNewStr;
int iLenNewStr = strlen(Text);
int i, j, k, iReplace=0;
szNewStr = (char *)malloc(sizeof(char *) * iLenNewStr);
if(!szNewStr) { return 0; }
for(i=0; Text[i]; i++)
{
if(Text[i] == Motif[0])
{
for(j=1; Motif[j] && (Motif[j] == Text[i+j]); j++);
if(Motif[j] == '\0') // Ok
{
iReplace++;
for(k=0; Text[k+i+j]; k++)
szNewStr[k] = Text[k+i+j];
szNewStr[k] = '\0';
for(k=0; Replace[k]; k++,i++)
Text[i] = Replace[k];
for(k=0; szNewStr[k]; k++)
Text[i+k] = szNewStr[k];
Text[i+k] = '\0';
i--;
}
}
}
free(szNewStr);
return iReplace;
}