problema con puntero a cadena
Publicado por José Manuel (2 intervenciones) el 31/12/2005 14:39:35
Hola, estoy empezando en esto del c y tengo un problema. Estoy haciendo un programa tipo ls, que muestra los archivos de un directorio. Como tengo que implementar algunas opciones (-l -a -r ...) me es más fácil poner una función aparte que me dé el directorio (usando getcwd) que hacerlo en el código directamente, con lo que tendría que repetirlo varias veces, una si sólo me pasan el nombre del programa desde la shell y otra si después de las opciones no se especifica un directorio a listar, es decir, tendría que usar el path actual si desde la shell se hace:
>list ó
>list -la, pero no si se hace algo asi:
>list -l /home
Perdonad pq sé que es un poco lioso pero lo que pregunto es lo siguiente. Este es mi código:
int getDirectorio(char*);
int main(int argc, char *argv[]) {
int error = 0;
char directorio[PATH_MAX];
DIR *dirp;
struct dirent *direntp;
if (argc == 1) {
getDirectorio(directorio);
}
}
int getDirectorio(char *dir) {
int error = 0;
if (getcwd(dir, PATH_MAX) == NULL) {
perror("No se tuvo acceso al directorio"); //****
error=1;
}
return(error);
}
al compilar este trozo me da un fallo que dice que en la línea que os he marcado con asteriscos comparo un puntero con un entero, y no sé ya como ponerlo.
Os agradecería cualquier ayuda posible. Un saludo a todos
>list ó
>list -la, pero no si se hace algo asi:
>list -l /home
Perdonad pq sé que es un poco lioso pero lo que pregunto es lo siguiente. Este es mi código:
int getDirectorio(char*);
int main(int argc, char *argv[]) {
int error = 0;
char directorio[PATH_MAX];
DIR *dirp;
struct dirent *direntp;
if (argc == 1) {
getDirectorio(directorio);
}
}
int getDirectorio(char *dir) {
int error = 0;
if (getcwd(dir, PATH_MAX) == NULL) {
perror("No se tuvo acceso al directorio"); //****
error=1;
}
return(error);
}
al compilar este trozo me da un fallo que dice que en la línea que os he marcado con asteriscos comparo un puntero con un entero, y no sé ya como ponerlo.
Os agradecería cualquier ayuda posible. Un saludo a todos
Valora esta pregunta


0