El dolor de cabeza para leer archivos de texto desde un programa C
Aquí, un trozo de código que lee registros desde un archivo de texto y lo guarda en un estructura de tipo Cliente (definida con anterioridad) a través de un apuntador
cliente *ptrCLIENTE= NULL;
char buffer[80];
FILE *ptrCliente2;
// Hay que abrir el archivo de clientes
ptrCliente2=fopen("clientes.txt","r");
// Si se puede abrir el archivo de clientes...
if(ptrCliente2!=NULL)
{
//Ubicarse al principio del archivo
rewind(ptrCliente2);
// Reservamos memoria para el registro que se va leer del archivo
ptrCLIENTE=(struct Cliente *) malloc(sizeof(struct Cliente));
while ((fscanf(ptrCliente2, "%s",buffer)) != EOF)
{
// Dividir el buffer en tokkens y alamacenarlos en la estructura
//IMPORTANTE: la función atoi() convierte cadena a entero. Definida en stdlib
ptrCLIENTE->Cedula=atoi(strtok(buffer,";"));
strcpy(ptrCLIENTE->razon,strtok(NULL,";"));
strcpy(ptrCLIENTE->telefono,strtok(NULL,";"));
ptrCLIENTE->saldo_voz=atoi(strtok(NULL,";"));
ptrCLIENTE->saldo_sms=atoi(strtok(NULL,";"));
ptrCLIENTE->saldo_datos=atoi(strtok(NULL,";"));
No hay comentarios:
Publicar un comentario