La Web del Programador: Comunidad de Programadores
 
    Pregunta:  32596 - FILA O ARCHIVO SECUENCUAL COMO PARAMETRO
Autor:  juan orbezov
holaa:
como puedohacer para ingresar un archivo secuencial como parametro de una funcion.este archivo debe ser de caracteres , y tambien como parametro ingresa un vertor de caracteres , con este ultimo busco si lo escrito en el segundo o vector esta dentro de la fila secuencial.
apurense por favor , con la respuesta.
gracias

  Respuesta:  Juan Carlos Ruiz
querido amigo , no puedes pasar un archivo como parametro , lo que si puedes hacer es pasar como parametro una referencia a un archivo, sea un puntero o un handle, y una vez estos datos ingresen a tu funcion, debes realizar comparaciones entre el buffer de lectura y la variable o buffer donde tienes la cadena, el ejemplo es mas o menos este ; mas o menos porque no se si te valla a compilar dado que lo estoy escribiendo y no tengo como compilarlo porque estoy en la oficina, sin embargo los errores seran de pura sintaxis., frecuerda incluir sentencias de control de errores para lograr un trabajo de mayor calidad.

void mifuncion(FILE *,char *);
int main( )
{
FILE *f; //lo trabajare con apuntarres que eas mas facil
char frase[20];

strcpy(frase,"my veinte caracteres");
f=fopen("c:\miarchivo.txt","r");
mifuncion(f, frase);
}

void mifuncion(FILE *arch, char *str)
{
char buffer[20];
. . .
. . . lo que se qujiera hacer
. . .
. . .
//aqui debews poner un becle para recorrer el archivo con fseek
//el valor leido del archivo de texto se almacena en bufer
//que en este caso lee de a 20 caracteres
//posteriormente se debe hacer una comparacion
//entre el buffer y la frease almacenada en str , que la frase que
//pretendemos encontrar en el archivo.

fread(buffer,sizeof(buffer,1,arch));
if(strcmp(buffer,&arch)==0)
{
loque tengas que hacer
}
else
{
lo que tengas quew hacer
}
fseek(arch,20,SEEK_CUR);
//aqui finalizaria el ciclo
}
El programa es sencillo, pero puedes demorarte un poco , sobre todo si no tienes practica en el tratado de archivos, te lo entregaria completo, pero soy muy amigo del espiritu investigativo y del cacharreo suerte, cualquier inquietud no dudes en escribirme.