fonction pour remplacer du texte dans une string [C] - C - Programmation
Marsh Posté le 24-05-2007 à 13:12:41
ReplyMarsh Posté le 24-05-2007 à 15:08:02
Y'a pas, faut te le faire à la main (à partir de strstr effectivement).
Marsh Posté le 24-05-2007 à 15:13:21
est il possible de remplacer le mot par un mot de plus grande taille ?
Marsh Posté le 24-05-2007 à 15:22:54
ReplyMarsh Posté le 24-05-2007 à 15:23:00
zecrazytux a écrit : est il possible de remplacer le mot par un mot de plus grande taille ? |
Oui, avec strstr() + realloc() + memcpy()
Marsh Posté le 24-05-2007 à 15:23:47
Elmoricq a écrit : Oui, avec strstr() + realloc() + memcpy() |
ah oui un petit realloc
merci
Marsh Posté le 24-05-2007 à 16:22:14
zecrazytux a écrit : est il possible de remplacer le mot par un mot de plus grande taille ? |
Par un mot de plus petite taille non plus, d'ailleurs.
Marsh Posté le 26-05-2007 à 23:16:24
Elmoricq a écrit : Oui, avec strstr() + realloc() + |
Marsh Posté le 27-05-2007 à 17:47:59
Oui mais la vous parlez en C++, le monsieur cherche en C la syntax est pas vraiment identique.
Bon je me lance sur le sujet alors XD
Bon j'ai fais un prog qui cherche une chaine dans une autre.
C'est pas super beau mais ca fait une base.
Citation : /* |
Str_search trouve la chaine la plus grande qui correspond entre 2 chaines.
Ex : salut "sal bon les gars ca va sur HFR, bon salut !"
il affichera salut.
Il suffit de modifier pour retourner l'index. et modifier la chaine a votre guise.
Y'a quelques bugs a resoudres, et le premier argument c'est le mot a rechercher, et le second c'est la chaine ou il faut chercher.
Bon en esperant avoir aide. Marre de travallier les dimanche !
Marsh Posté le 27-05-2007 à 18:07:28
kaiser52 a écrit : Oui mais la vous parlez en C++, le monsieur cherche en C la syntax est pas vraiment identique.
|
Où t'as vu du c++ ??
Dans l'url de la dernière intervention ?
Marsh Posté le 27-05-2007 à 18:25:35
Ouai dans l'url apres j'ai pas cherche plus loin ^^
Marsh Posté le 27-05-2007 à 18:56:32
kaiser52 a écrit : Ouai dans l'url apres j'ai pas cherche plus loin ^^ |
'k lol
Marsh Posté le 27-05-2007 à 19:15:53
_darkalt3_ >> Tu penses quoi de se bout de programme ?? Par-ce-que je débute dans la programmation, j'ai moins d'un an de pratique.
Marsh Posté le 28-05-2007 à 11:30:03
J'ai cette fonction sous la main.
Attention, il y avait certaines restrictions (pas utiliser asprintf ou realloc)
Donc, avec quelques adaptation, elle devrait encore être plus performante
Elle renvoie une nouvelle chaine alloué avec malloc.
Code :
|
str_ndup est une fonction perso (car strndup n'existe pas sur BSD)
str_concat aussi, le premier nombre est le nombre de chaine à concaténer, et renvoie une chaine alloué avec malloc.
Fonction récusive (mais ne détecte pas les possible boucle infinie, attention)
C'est pas super ,mais mieux que rien, ca peut déjà t'aider.
Marsh Posté le 28-05-2007 à 11:37:51
Il y'a beaucoup plus simple que ce que j'ai posté (mais si t'es dans l'urgence, c'est mieux que rien).
Avec un seul malloc et quelques soustraction/addition de pointeurs, c'est fesable facilement.
Marsh Posté le 24-05-2007 à 12:22:58
Bonjour,
je recherche une fonction en C qui chercherai dans une grosse string ( en fait le contenue d'un fichier ) un bout de texte, et qui remplacerai ce bout de texte par un autre texte.
Cela existe-t-il ? Je n'ai rien trouver de concluant :-/
merci d'avance