begin process at 2012 05 29 10:47:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

effacer contenu vecteur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

effacer contenu vecteur

vendredi 15 avril 2005 à 10:29:58 | effacer contenu vecteur

0xYg3n3

bonjour
comment pourrais-je effacer le contenu d'une ou plusieurs case d'un vecteur dans une boucle.
exemple:
vector <string> vec;
vector <string>::iterator vec_iter;

for (vec_iter=vec.begin() ; vec_iter <= vec.end() ; vec_iter++)
{
      if (  (*vec_iter == "champs") || (*vec_iter=="autrechamps") )
      {
            vec.erase(vec_iter);
      }
}

le soucis: lorsque j'efface le contenu d'une case , vec_iter=chainevide.
Comment faire pour ne pa perdre le contenu de vec_iter? (prochaine case du vecteur)

merci pour vos reponse

vendredi 15 avril 2005 à 11:37:56 | Re : effacer contenu vecteur

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
erase te retourne un itérateur, il faut que tu l'utilises, et ne pas incrémenter quand tu fais erase. Par conséquent, la boucle for n'est pas appropriée:

vector <string> vec;
vector <string>::iterator vec_iter;

vec_iter=vec.begin()
while(vec_iter != vec.end())
{
  if ((*vec_iter == "champs") || (*vec_iter=="autrechamps"))
    vec_iter = vec.erase(vec_iter);
  else
    vec_iter++;
}
vendredi 15 avril 2005 à 21:52:31 | Re : effacer contenu vecteur

0xYg3n3

Ah j'oubliais

Je souhaiterais avoir un pointeur sur mon vecteur
D'apres la MSDN il suffit de faire:

vector < string > vec;
vec.push_back("test");
vec.push_back("pointeur");

// declaration du pointeur
vector < string >::pointer ptr;
ptr = vec[0];

mais ca ne passe pas a la compile (meme l'exemple fourni dans la MSDN)

PS: j'utilise Visual Studio
vendredi 15 avril 2005 à 22:44:06 | Re : effacer contenu vecteur

0xYg3n3

Je rectifies

je souhaite obtenir un pointeur sur le type du vecteur et non sur le vecteur lui meme

Pour l'instant j'ai declare un pointeur du style string * ptr;
Je l'ai fais pointer sur le 1er champ du vecteur  ptr = vec[0];
Est ce la meilleure solution ?

merci pour vos reponses
vendredi 15 avril 2005 à 22:51:51 | Re : effacer contenu vecteur

vecchio56

Administrateur CodeS-SourceS
Un pointeur sur le type du vecteur? Je vois pas ce que tu veux dire par la. Si tu veux un pointeur sur un élément du vecteur, tu n'a qu'a faire string* ptr = &vec[0]
(string* ptr = vec[0] ne marchera pas car vec[0] est de sype string et non string*)
samedi 16 avril 2005 à 09:53:58 | Re : effacer contenu vecteur

0xYg3n3

Ah effectivement j'ai oubli de preciser l'adresse du premier element (&) dans mon message

Mais bon ma solution fonctionne.
Merci a toi

PS meme si il existe un type pointer dans le vector (je n'arrive pas a m'en servir)


Cette discussion est classée dans : effacer, contenu, vecteur, vec, iter


Répondre à ce message

Sujets en rapport avec ce message

Effacer le contenu d'un fichier [ par mcBell ] Bonjour à tous,Existe-t-il un moyen d'effacer un partie du contenu d'un fichier en langage c?Merci d'avance pour votre aide Effacer le contenu d'une fenetre... [ par Galmiza ] Salut,Actuellement, pour effacer l'ecran je trace un rectangle plein blanc sur la fenetre.Or bizarrement, cette methode fait anormalement ramer le PC Effacer le contenu d'une EditBox via un bouton [ par baf78 ] Bonjour a tous et un grand merci a ceux qui font vivre ce site tellement il fourmile d'information. Debutant dans la programmation via Visual C++ 6.0 Calcul matriciel [ par ganfoud ] SalutJ'ai créé une classe Vecteur et Matrice, tout marche sauf la surcharge de l'operateur =Voici les bouts qui nous interessent:matrice.hclass Vecteu iterateur sur vecteur a deux dimension [ par Amanobuo ] Salut Dans la librairie standard (encore ! :) )J arrive (a peu pres) a me debrouiller avec un iterateur sur un vecteur a une dimension, mais comment f Urgent : Peut-on effacer le contenu d'un "vector <int>" ? Si oui comment? (EN c++) [ par ndubien ] Bonjour, je cherche à savoir s'il est possible d'effacer un vector et si oui comment! (EN C++)Merci.<f Deux meme string dans un vecteur. [ par frayst ] Voila je vous explique ma situation : J'ai un vecteur string dans lequel jattribue des mots (dont certains sont les memes = Bonjour et Salut) : vector Cpp builder: comment effacer le contenu d'un TBitmap ? [ par steph12358 ] Bonjour tout le mondeben tout est dans le titre: en c++ builderUn TImage contient un TBitmap.Avec la méthodeimage1->LoadFromFile("machine.bmp");on cha Retourner un vecteur se trouvant dans une fonction [ par did2604 ] Bonsoir,J'ai une fonction qui traite les élements d'un tableau (t) et les met dans un vecteur (v2). Une fois cela fait, je demande à ce que les valeur rand et vecteur [ par over_flow ] Bonsoir,Petite question : je sais comment générer un nombre aléatoire avec la fonction rand. Je réserve 6 cases mémoires dans un vecteur, j'aimerais q


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,201 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales