Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Modificar archivo dentro funcion

Estas en el tema de Modificar archivo dentro funcion en el foro de C/C++ en Foros del Web. Hola, buen día, tengo una duda que agradecería me pudiesen ayudar a resolver en C++. Es la siguiente: Tengo la siguiente funcion: Nota: Lo que ...
  #1 (permalink)  
Antiguo 17/03/2009, 03:22
 
Fecha de Ingreso: marzo-2009
Mensajes: 4
Antigüedad: 15 años, 1 mes
Puntos: 0
Modificar archivo dentro funcion

Hola, buen día, tengo una duda que agradecería me pudiesen ayudar a resolver en C++. Es la siguiente:

Tengo la siguiente funcion:
Nota: Lo que esta en parametros con corchetes, no lo tengo, es lo que quiero poner

void getArgs(int argc, char **argv, [istream dataIn])
{
static ifstream dataStream; // data file stream
static ifstream queryStream; // query file stream

if (argc <= 1) { // no arguments
cerr << "Usage:\n\n"
<< " blablabla"

}
int i = 1;
while (i < argc) { // read arguments

if (!strcmp(argv[i], "-df")) { // -df option
dataStream.open(argv[++i], ios::in);// open data file
if (!dataStream) {
cerr << "Cannot open data file\n";
exit(1);
}
dataIn = &dataStream; // make this the data stream
'
}
i++;
}

}


Con esa función, si la tengo dentro del archivo donde esta el main, y tengo declarada dataIn como global así:
istream* dataIn = NULL;

luego mando llamar a la funcion

getArgs(argc, argv);

Eso no me trae ningun problema.

Pero, lo que quiero, es poner esa función en otro archivo, y mandarlo llamar desde el archivo con main. Entonces, para esto, quiero mandarle dataIn, de tal forma que yo llamara a la funcion así:

getArgs(argc, argv,dataIn);

Entonces que el archivo abierto estuviera en dataIn y de ahi ya lo pudiera leer paso por paso.

Pero no tengo idea de como hacer esto, creo que es con punteros, pero no se como irian los punteros.

Gracias de antemano, que tengan buen día.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:01.