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

Seguro que es una chorrada... paso de puntero entero

Estas en el tema de Seguro que es una chorrada... paso de puntero entero en el foro de C/C++ en Foros del Web. Hola, soy novato en c y no consigo hacer lo siguiente. En el Main paso dos punteros filas y columnas, que leen de un fichero ...
  #1 (permalink)  
Antiguo 20/03/2010, 10:06
 
Fecha de Ingreso: abril-2004
Mensajes: 4
Antigüedad: 20 años, 6 meses
Puntos: 0
Seguro que es una chorrada... paso de puntero entero

Hola, soy novato en c y no consigo hacer lo siguiente.
En el Main paso dos punteros filas y columnas, que leen de un fichero de texto y que deben almacenar los valores en dichos punteros (como si se pasase un valor por referencia). Me podeis echar un cable?
Os paso mi codigo.
----MAIN----
...
int *columns;
int *files;
*columns=0;
*files=0;
//INICIALIZO E IMPRIMO DE PRUEBA PARA VER QUE ESTA OK LA INICIALIZACION
printf("Filas ANTES de getsize %d columnas %d\n",*files,*columns);
getsize(filein, files, columns);
printf("Filas DESPUES de getsize %d columnas %d\n",*files,*columns);
...
----GET SIZE---
int getsize(char *filein, int * files, int * columns){
FILE *fp;
char line[255];
char c;
fp = fopen(filein, "r");
if (fp==NULL){
return -1;
}
fgets(line,255,fp);// comentary line
sscanf(line, "%d%d", fils,columns);
//EN ESTA LINEA HE PROBADO DE TODO, PONIENDO %s%s poniendo *, &....
fclose(fp);
return 0;
}
La linea se lee correctamente del fichero...
Muchas gracias!!
  #2 (permalink)  
Antiguo 20/03/2010, 15:51
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 5 meses
Puntos: 61
Respuesta: Seguro que es una chorrada... paso de puntero entero

columns y files (rows?) deben ser definidos como enteros

int columns,

y a ellos le asignas un valor.

Luego, la funcion que la modifica recibe un puntero a ese dato, al invocar la funcion se usa el operador &

f(&columns)

La funcion parece estar bien tal como esta, el problema esta en la definicion en el main y en la invocacion de la funcion.

Etiquetas: entero, puntero, seguro
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 10:03.