Eliminar elementos de un vector

Iniciado por chihue, 2 Enero 2015, 17:11 PM

0 Miembros y 1 Visitante están viendo este tema.

chihue

Como se pueden eliminar todos los elementos guardados en un vecor. Tengo una función que lee todos los elementos y cada cambo quiero que vuelva a guardad a todos los elementos. Lo que he echo es inicializar siempre a 0 que empieza a leeer un fichero el problema es que si en el archivo hay 5 datpos que guardar en un vector pero el vector tenia guardado 6 datos hay uno que esta ai siempre.
Lo que quiero es saber como antes de leer un vector se vacie entero. he encontrado la funcion: "v.erase (v.begin(),v.begin()+tam);   " pero me sale un error.

Aqui mi codigo:
void FncLeerClientesFich(ifstream &f,VecClientes v, int &tam){
string id;
v.erase (v.begin(),v.begin()+tam);
tam=0;
while (!f.eof()){
getline (f,id);
v[tam].identificador = atoi(id.c_str());
getline (f,v[tam].c);
getline (f,v[tam].nombre);
getline (f,v[tam].direccion);
getline (f,v[tam].correo);
getline (f,v[tam].ciudad);
tam++;
}

}

rir3760

Cita de: chihue en  2 Enero 2015, 17:11 PMComo se pueden eliminar todos los elementos guardados en un vecor
Mediante la función miembro clear

En cuanto a la función "FncLeerClientesFich" falta la definición de la clase "VecClientes" y deberías evitar el uso de la función feof, en su lugar verifica directamente el estado del stream.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language