Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1363 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Recherche d'une phrase dans un string

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recherche d'une phrase dans un string

n°1147919
ronaldinho​10
Posté le 12-07-2005 à 14:39:49  profilanswer
 

S'il vous plait aidez moi !!!!!!!!
 
Il faut que je parcours un fichier texte et que pour chaque ligne (récupérer avec getline),
que je teste la presence d'un morceau de phrase pour ensuite ecrire la ligne dans un autre fichier sans ses 14 premiers caractères !
 
En fait j'arrive pas à faire en C/C++ l'equivalent de "ereg" et "substr" du langage PHP. :pfff:  
 
Quelqu'un a t'il la solution ?

mood
Publicité
Posté le 12-07-2005 à 14:39:49  profilanswer
 

n°1147955
theshockwa​ve
I work at a firm named Koslow
Posté le 12-07-2005 à 15:02:45  profilanswer
 

tu veux absolument une expression régulière ou ton "morceau de phrase" est fixe ?
 
Edit : S'il est fixe, ca va assez vite :

Code :
  1. #include <iostream>
  2. #include <string>
  3. int main() {
  4. std::string str = "123456789";
  5. std::cout << "123456789.find(456) = " << static_cast<unsigned int>(str.find("456" )) << std::endl;
  6. std::cout << "123456789.find(147) = " << static_cast<unsigned int>(str.find("147" )) << " (erreur = " << static_cast<unsigned int>(std::string::npos) << " )" << std::endl;
  7. std::cout << "123456789.substr(3,4) = " << str.substr(3,4) << std::endl;
  8. return 0;
  9. }


 
Edit 2 :

Citation :

En fait j'arrive pas à faire en C/C++


C'est soit C, soit C++, mais pas les deux ...


Message édité par theshockwave le 12-07-2005 à 15:04:05
n°1148231
ronaldinho​10
Posté le 12-07-2005 à 17:36:16  profilanswer
 

Merci de ta réponse, j'avais pourtant essayé ces 2 fonctions mais sans succès...
En fait j'ai pas utilisé "find" car la valeur qu'elle retourne ne me dis pas si ma phrase recherchée est bien présente.
 
Comment savoir si l'enorme nombre renvoyé n'est pas tout simplement la position de mon occurence au lieu d'une erreur ?
 
 

Citation :

C'est soit C, soit C++, mais pas les deux ...


Oui merci je suis pas SI nul non plus !  :heink:


Message édité par ronaldinho10 le 12-07-2005 à 17:39:25
n°1148243
theshockwa​ve
I work at a firm named Koslow
Posté le 12-07-2005 à 17:45:38  profilanswer
 

tu testes contre std::string::npos :
 

Code :
  1. std::string::size_type pos = chaine.find(souschaine);
  2. if(pos != std::string::npos) {
  3.   // la sous chaine est présente à partir du caractère <pos>
  4. } else {
  5.   // la sous chaine n'a pas été trouvée
  6. }


n°1148246
ronaldinho​10
Posté le 12-07-2005 à 17:48:27  profilanswer
 

Efficacité, rapidité, ... de la réponse !
Merci beaucoup  :jap:  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Recherche d'une phrase dans un string

 

Sujets relatifs
logiciels de recherche de fichierRemplacer une string dans un fichier
Recherche à afficher carte de france météorecherche fonctions equivalentes au C (entrée/sortie console)
recherche programmeur PHPRecherche / Click sur html machin etc. ( suite )
Programme de recherche / click sur htmlrecherche de répertoire et traitement....
Supprimer des lignes dans une String[Java] Probleme avec "\n" lors d'un String.split(";")
Plus de sujets relatifs à : Recherche d'une phrase dans un string


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR