Accueil > Forum > > > > changer un mot en un autre
changer un mot en un autre
lundi 17 septembre 2007 à 23:14:27 |
changer un mot en un autre

snpier wolf
|
bon soire a tous, j'ais encors une question.  Commant fair pour qu'un mot qui se trouve dans un texte.txt soit remplacé par un autre mot?? exemple : ----------------------------- Ce chien est fou! je suis sur que s'ais ton chien. ------------------------------ Ce chat est fou! je suis sur que s'ais ton chat. merci d'avence. a++
|
|
lundi 17 septembre 2007 à 23:47:02 |
Re : changer un mot en un autre

juju12
|
S'il a la même taille t'écris par dessus directement sinon il faut sortir tout le fichier dans un buffer remplacer le mot et le remettre dans le fichier.
|
|
mardi 18 septembre 2007 à 10:09:25 |
Re : changer un mot en un autre

acx01b
|
salut
sais-tu le faire dans le cas d'une chaine de caractère ?
par exemple saurais tu écrire une fonction void remplacer (char *phrase, char *ancien_mot, char *nouveau_mot);
char *phrase = strdup("une phrase"); remplacer(phrase,"une", "une tres longue"); printf(phrase); // affiche: une tres longue phrase
|
|
mardi 18 septembre 2007 à 12:48:16 |
Re : changer un mot en un autre

snpier wolf
|
bonjour à tous, justement ma question était peut être pas clair, en fait je veux que dans un texte qui est encors inconut, tout les chien par exemple sois remplacé par chat . bien entendus on ne sais pas ou sont écris les mot chien merci d'avence a++
|
|
mardi 18 septembre 2007 à 16:45:40 |
Re : changer un mot en un autre

acx01b
|
oui on est d'accord
mais ma question c'était est-ce que si ce texte est contenue dans une chaine de caractère (un char*) tu saurais écrire la fonction qui effectue ce remplacement ?
|
|
mardi 18 septembre 2007 à 16:53:03 |
Re : changer un mot en un autre

snpier wolf
|
lol C'est la question que je pause. non je ne sais pas le fair. quelqu'un peux m'aider s.v.p?
|
|
mardi 18 septembre 2007 à 17:12:10 |
Re : changer un mot en un autre

snpier wolf
|
j'ais dis quelqu'un peut m'aider mais j'aurais du dire quelqu'un peut nous aider s.v.p?
|
|
mardi 18 septembre 2007 à 19:16:45 |
Re : changer un mot en un autre

Neo_Fr
|
1- tu charge le fichier dans un buffer
2- tu modifie ce que tu veux
3- tu ecrit le buffer
En gros ca te donne un truc comme ca:
void __stdcall Replace(char *psz, char *szmotif, char *sznew) // de BruNews
{
int m, n;
char *c, *d;
m = strlen(szmotif);
if(!m) return;
c = psz;
n = strlen(sznew);
if(!n) goto supprime;
if(n > m) goto superieur;
if(n < m) goto inferieur;
if(!strcmp(szmotif, sznew)) return;
while(d = strstr(c, szmotif)) {
memcpy(d, sznew, n);
c = d + n;
}
return;
inferieur:
while(d = strstr(c, szmotif)) {
memcpy(d, sznew, n);
c = d + n;
strcpy(c, d + m);
}
return;
superieur:
while(d = strstr(c, szmotif)) {
memmove(d + n, d + m, strlen(d + m) + 1);
memcpy(d, sznew, n);
c = d + n;
}
return;
supprime:
while(d = strstr(c, szmotif)) {
strcpy(d, d + m);
c = d;
}
}
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HANDLE hFile;
DWORD br, bw, FileSize;
BYTE* Buffer;
hFile = CreateFile("C:\\ton_fichier.txt", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_ALWAYS, 0, 0);
FileSize = GetFileSize(hFile, 0);
Buffer = (BYTE*) HeapAlloc(GetProcessHeap(), HEAP_NO_SERIALIZE, (FileSize*2));
ReadFile(hFile, Buffer, FileSize, &br, 0);
Replace(Buffer, "mot_a_remplacer", "mot_qui_remplace");
SetFilePointer(hFile, 0, 0, FILE_BEGIN);
WriteFile(hFile, Buffer, strlen(Buffer), &bw, 0);
SetEndOfFile(hFile);
CloseHandle(hFile);
HeapFree(GetProcessHeap(), HEAP_NO_SERIALIZE, Buffer);
return 0;
}
Neo_Fr
|
|
mercredi 19 septembre 2007 à 13:50:39 |
Re : changer un mot en un autre

acx01b
|
salut
la fonction remplacer je l'ai écrite comme ça:
#include <stdio.h>
void remplacer(char *s, char *src, char *dst) { char *tmp, *src2, *dst2, *tmptmp;
tmp = tmptmp = strdup(s);
suite: while(*tmp) { src2 = src; char *tmp2 = tmp; while(*tmp++ == *src2++) { if (!*src2) { dst2 = dst; while(*dst2) { *s++ = *dst2++; } goto suite; } } while(tmp2 < tmp) *s++ = *tmp2++; } *s = 0; free(tmptmp); }
int main() { char *chaine = "aaaaaaaaaala laaaaa"; chaine = strdup(chaine); chaine = realloc(chaine,512); remplacer(chaine, "aaaaa", "e"); printf("%s\n",chaine); return 0; }
|
|
mercredi 19 septembre 2007 à 14:50:10 |
Re : changer un mot en un autre

juju12
|
acx01b : char chaine[512]="aaaaaaaaalalaaaaaaaa"; c'est pas plus simple que char *chaine = "aaaaaaaaaala laaaaa"; chaine = strdup(chaine); chaine = realloc(chaine,512); ??
|
|
Cette discussion est classée dans : mot, changer, fou, ais, chien
Répondre à ce message
Sujets en rapport avec ce message
richedit [ par julienbj ]
Je souhaiterais changer la couleur de certains mots contenus dans un richedit. Je sais le faire lorsque je sélectionne le mot, ou lorsque je veux chan
Changer les propriétés d'un objet ?? [ par 01Dawi ]
SalutJe sais taper un code c++ mais le bleme c que question changement de propriétés, j'étais habitué a vb (ex : Picture1.picture=) ou a c++ builder (
changer Z-order [ par layouniriadh ]
bonjour Apperement l ordre d affichage des objets dans visual c++ et fixe. C est a dire que si je superpose partiellement deux objets (boutons , list
RichEdit extraction de mots [ par sunchild ]
Bonjour à tous,J'ai un problème que je n'arrive pas à résoudre depuis un certain temps. J'ai chargé un fichier texte dans un RichEdit de Borland C++ B
list control [ par titouf71 ]
j'ai un gros probleme.J'ai fais un programme mfc avec une list control et je voudrais pouvoir changer la couleur du font que d'une ligne ou d'une case
Changer les couleurs dans un edit box (MFC application, visual c++) [ par wannalurn ]
SalutJ'ai un petit probleme; j'aimerais en effet changer la couleur de mes edit box dans mon dialog box; concretement, ce que je veux c'est que apres
Changer la langue ? [ par 0xYg3n3 ]
Bonjour, Je disposes actuellment de Visual.Net 2003 en anglais Et j'aurais voulu savoir si il est possible de la passer en version francaise Merci p
Changer l'heure de Windows [ par Sload ]
Bonjour à tous ! Qq'un sait il comment changer l'heure de windows en C++ ? Merci d'avance Antoine http://www.sloadnet.com
saisie d'un mot pour que l'action sur le bouton se fasse [ par romydamour ]
salut tout le monde,je travaille sur une APIwin32 sous visual c++;j'ai réalisé une petite boite de dialogue toute bête qui apparaitra lors du lancemen
Tri - Chaine - Pointeurs - en c [ par etienn11 ]
Bonjour, Je cherche à trier les lignes d'un fichier (80 car et 100 lignes MAX) en C.J'y suis arrivé avec le code ci-dessous, mais maintenant j'aimerai
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|