MUUCHAS Gracias r0d !! por responder he usado el código que me has indicado para leer el archivo, el código me queda así
Código:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
// utilizamos un vector de string para almacenar el texto que
// vamos a leer en el fichero:
std::vector<std::string> lines;
int main ()
{
// abrimos el fichero
std::ifstream myfile( "horas.txt" );
int i=0; //puntero para el vector lines
const char *buscar; //buscar caracter ":" en la cadena
if ( myfile) // esto es la mejor manera para comprobar el fichero este bien abierto
{
std::string line;
// el bucle siguiente sigue hasta que queda algo que leer
while ( std::getline( myfile, line ) )
{
buscar = line.c_str ();
if (strchr(buscar,':')!=NULL) //filtramos la información por ":" en la cadena
{
lines.push_back( line ); // añadimos sólo lineas que tengan ":" en el vector
i++;
cout << line;
printf("\n");
//system("PAUSE");
}
}
}
else
{
printf("el fichero no se puede abrir...");
}
system("PAUSE");
return 0;
}
si no me equivoco el vector quedaría algo así (no he trabajado casi nada con vectores aún)
indice: ........................0......................... ...........1.....................................
vector: "10:00:02,128-18:00:02,234","12:00:024,128-19:00:03,456"
ahora tendría que leer la información de la cadena por partes osea quiero algo así
nuevo_vector=
"1","0",":","0","0",":","0","2",",","1","2","8".. hasta el final de vector [0]
de esta forma podría usar el nuevo vector para hacer
horas= (nuevo_vector[0]*10)+nuevo_vector[1]
que sería horas=(1*10)+0=
10 //horas
en realidad necesito convertir todo a segundos pero eso es sólo cuestion de continuar multiplicando,.... al final el resultado lo guardo en otro archivo
pero vuelvo a estar atascado en conseguir la información del string para guardarla en una int. ¿me entienden?