¿Cómo se leen los datos de un archivo si mi archivo es así con valores separados por comasCómo lectura-escritura en/de archivo de texto con valores separados por comas
1, 2, 3, 4, 5\n
6, 7, 8, 9, 10\n
\n
y después de leer el archivo, quiero para volver a escribir los datos en otro archivo como el mismo formato anterior.
puedo obtener el número total de líneas, usando
string line;
while(!file.eof()){
getline(file,line);
numlines++;
}
numline--; // remove the last empty line
pero ¿cómo puedo saber el número total de dígitos en una fila/línea ??
También tengo vectores de datos para almacenar los datos. Entonces, quiero leer la primera línea y luego contar el número total de elementos en esa línea, aquí 5 (1,2,3,4,5) y almacenarlos en matriz/vector, y leer la siguiente línea y almacenarlos en vector de nuevo y así sucesivamente hasta que llegue a EOF.
Entonces, quiero escribir los datos en el archivo, de nuevo, creo que esto va a hacer el trabajo de escribir datos en un archivo,
numOfCols=1;
for(int i = 0; i < vector.size(); i++)
{
file << vector.at(i);
if((numOfCols<5) file << ",";//print comma (,)
if((i+1)%5==0)
{
file << endl;//print newline after 5th value
numOfCols=1;//start from column 1 again, for the next line
}
numOfCols++;
}
file << endl;// last new line
Por lo tanto, mi principal problema es cómo leer los datos de archivo con valores separados por coma?
Gracias
¿Qué es esto? std :: stringstream linestream (línea); – Curious
Crea un objeto de secuencia de secuencia. Actúa como una secuencia, como std :: cin, std :: cout o una secuencia de archivos std :: fstream, pero utiliza una cadena como fuente de los datos. Entonces, en efecto, es una secuencia de una sola línea. –
Cuando intento compilar, obtengo este error, la variable 'std :: stringstream linestream 'tiene inicializador pero tipo incompleto. He incluido todos los encabezados necesarios. – Curious