Título: Ayuda con archivo csv Publicado por: SoyBolita en 29 Diciembre 2019, 20:16 pm Hola a todos, verán tengo una consulta estoy realizando un pequeño programa en C++, el cual por cierto es primera vez que uso este lenguaje(soy bastante novato). bueno lo que tengo que hacer es leer un archivo .CSV y pasarlo a un DataGridView lo que he podido lograr pero es de manera "estática" es decir tengo que declarar cuantas columnas posee ese archivo, por ejemplo lo probé con 4 columnas pero no me va a resultar si el archivo csv tiene mas o menos de cuatro columnas, el problema es que no logro hacer que la lectura sea en forma dinámica y se adapte a cualquier cantidad de columnas del archivo.
Este es el código con el que hago la lectura: Código: ifstream in(filename); if (in.fail()) { MessageBox::Show("Error al abrir el archivo", "Mesaje"); } else { std::string campo1; std::string campo2; std::string campo3; std::string campo4; while (!in.eof()) { getline(in, campo1, ','); getline(in, campo2, ','); getline(in, campo3, ','); getline(in, campo4, '\n'); String^ c1 = gcnew String(campo1.c_str()); String^ c2 = gcnew String(campo2.c_str()); String^ c3 = gcnew String(campo3.c_str()); String^ c4 = gcnew String(campo4.c_str()); Importacion::dataGridVistaCSV->Columns->Add("c1", "C1"); Importacion::dataGridVistaCSV->Columns->Add("c2", "C2"); Importacion::dataGridVistaCSV->Columns->Add("c3", "C3"); Importacion::dataGridVistaCSV->Columns->Add("c4", "C4"); Importacion::dataGridVistaCSV->Rows->Add(c1,c2,c3,c4); } } También quisiera saber si creen que es recomendable usar visual studio para crear el programa ya que debo utilizar interfaz de usuario. espero puedan ayudarme y desde ya muchas gracias. ;D Título: Re: Ayuda con archivo csv Publicado por: vangodp en 9 Enero 2020, 01:52 am vamos suponer que hayas leído una linea de un archivo:
Código
Lo que se pueda hacer(Y no digo que sea el metodo más efectivo) es una especie de strtok así como: Código Se puede montar una fácilmente una función y pasar una string, y que esa string le retorne el numero de columnas que tiene el tal csv. Espero que sirva... De todos modos puedes buscar en google algo así: "Como saber el numero de columnas de un archivo csv en c++" Suerte |