Manipulation de string c++

Manipulation de string c++ - C++ - Programmation

Marsh Posté le 09-08-2003 à 06:47:41    

lorsque j entre ........2
il enleve que la moitie des points pourquoi ??
il devrai virer toute la ponctuation non ?
 
 

Code :
  1. string& stringprocess::punct_remover(string& mystring)
  2. {
  3.   for (int i = 0; i < mystring.length(); i++) 
  4.   {
  5.     if (isalnum(mystring[i])!= 0)
  6.     mystring.erase(i,1); 
  7.   }
  8.   return mystring;
  9. }
  10. string& stringprocess::space_remover(string& mystring)
  11. {
  12.   for (int i = 0; i < mystring.length(); i++) 
  13.   {
  14.     if (isspace(mystring[i])!= 0)
  15.     mystring.erase(i,1); 
  16.   }
  17.   return mystring;
  18. }
  19. string& stringprocess::to_lower(string& mystring)
  20. {
  21.    for (int i = 0; i < mystring.length(); i++) 
  22.    {
  23.       mystring[i] = tolower(mystring[i]);
  24.    }
  25.    return mystring;
  26. }


Message édité par xiluoc le 09-08-2003 à 10:06:02

---------------
jeunes con de la derniere averse, vieux con des neiges d'antant.
Reply

Marsh Posté le 09-08-2003 à 06:47:41   

Reply

Marsh Posté le 09-08-2003 à 07:01:25    

pourles espaces

Code :
  1. string& stringprocess::space_remover(string& mystring)
  2. {
  3.   for (int i = 0; i < mystring.length(); i++) 
  4.   {
  5.     if (isspace(mystring[i])!= 0)
  6.     {
  7.     mystring.erase(i,1);
  8.     i--; 
  9.     }
  10.   }
  11.   return mystring;
  12. }


 

Code :
  1. string& stringprocess::punct_remover(string& mystring)
  2. {
  3.   for (int i = 0; i < mystring.length(); i++) 
  4.   {
  5.     if (isalnum(mystring[i]) == 0)
  6.     {
  7.     mystring.erase(i,1); 
  8.     i--;
  9.     }
  10.   }
  11.   return mystring;
  12. }

 
 
 :whistle:  
keskejsuis beeeeeete


Message édité par xiluoc le 09-08-2003 à 07:03:01

---------------
jeunes con de la derniere averse, vieux con des neiges d'antant.
Reply

Marsh Posté le 09-08-2003 à 07:31:41    

Une boucle for dont la condition de sortie varie dans la boucle, et ou tu remodifies l'entier aussi ,
c'est de la haute voltige :d

Reply

Marsh Posté le 09-08-2003 à 08:06:14    

myocastor a écrit :

Une boucle for dont la condition de sortie varie dans la boucle, et ou tu remodifies l'entier aussi ,
c'est de la haute voltige :d
 

 
c' est pas bieng ?
donne des solutions au moins  :lol:  


---------------
jeunes con de la derniere averse, vieux con des neiges d'antant.
Reply

Marsh Posté le 09-08-2003 à 09:48:11    

Ben une boucle while.
 
Ou alors une variable que tu controle qui n'est pas liée à l'objet comme condition de sortie et que tu modifie plus intelligemment

Reply

Marsh Posté le 09-08-2003 à 09:55:28    

je t'ai déjà dit d'arréter les titres à la con

Reply

Marsh Posté le 09-08-2003 à 16:29:48    

c mieux ?

Code :
  1. string stringprocess::punct_remover(string& mystring)
  2. {
  3.   string a;
  4.   for (int i = 0; i < mystring.length(); i++) 
  5.   {
  6.     if (isalnum(mystring[i])
  7.     {
  8.     a+= mystring[i];
  9.     }
  10.   }
  11.   return a;
  12. }


Message édité par xiluoc le 09-08-2003 à 17:14:45

---------------
jeunes con de la derniere averse, vieux con des neiges d'antant.
Reply

Marsh Posté le 09-08-2003 à 16:34:13    

oui. passe ton paramètre par const &

Reply

Marsh Posté le 10-08-2003 à 06:38:50    

le probleme c est qu il faut que je lui passe une string constant.
ca fait pas un peu brouillon ?
 
main
 

Code :
  1. int main ()
  2. {
  3. substitution mysub;
  4. stringprocess myprocess;
  5. string mystringa;
  6. cout << " enter string : " << flush;
  7. getline (cin, mystringa);
  8. const string mystring = mystringa;
  9. cout << "punc :" << myprocess.punct_remover(mystring) <<"\n"<< endl;

 
 
 
 

Code :
  1. const string mystring = mystringa;

 
 
j ai lu dans un tuto qu i lfallait plutot initializer que Assigne, sa efsait gagner 6% de vitesse en plus pour les string, weeee  [:alarmclock119]


---------------
jeunes con de la derniere averse, vieux con des neiges d'antant.
Reply

Marsh Posté le 10-08-2003 à 07:00:27    

mais qu'est ce que tu racontes? un paramètre const, ça veut dire que la fonction n'y touche pas, et non que l'objet est constant dans le contexte appelant. tes 6%, c'est des conneries.
 
et au chiotte l'op=, on utilise les () pour l'initialisation !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed