Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MAFUS

#1421
Crea, mediante array de strings o en un fichero de configuración, las rutas donde tu programa tendrá que mirar si hay el .srt que busca el usuario; y después que vaya probando ruta por ruta si el archivo existe y cargue la primera aparición o le diga al usuario que no existe.

Yo lo he hecho con arrays:
#include <stdio.h>
#include <string.h>

int main()
{
   FILE *fp;
   char cadena[80];
   char directorio[2][80];
   char archivo[80];
   char ruta[165];
   char const extension[] = ".txt";
   int i;
   int encontrado;
   int caracteres;
   
   strcpy(directorio[0], "./prueba/");
   strcpy(directorio[1], "./prueba2/");
   
   printf("Nombre el archivo a buscar: ");
   scanf("%79s", archivo);
   puts("\n");
   
   for(i = 0, encontrado = 0; i < 2 && !encontrado; ++i) {
       ruta[0] = '\0';
       strcat(ruta, directorio[i]);
       strcat(ruta, archivo);
       strcat(ruta, extension);
       fp = fopen(ruta, "r");
       if(fp)
           encontrado = 1;
   }
   
   if(encontrado) {
       caracteres = printf(" Contenido de %s\n", archivo);
       for(i = 0; i < caracteres; ++i)
           printf("-");
       puts("");
       while(!feof(fp)) {
           fscanf(fp, "%s", cadena);
           puts(cadena);
           cadena[0] = '\0';
       }
   }
   else {
       printf("El archivo %s no ha sido encontrado\n", archivo);
   }
   return(0);
}


Así suponiendo que hay un archivo llamado prueba.txt en el directorio prueba, con texto en su interior 'prueba'; y un archivo llamado prueba2.txt en el directorio prueba2, con texto en su interior 'prueba2':

Nombre el archivo a buscar: prueba


Contenido de prueba
---------------------
prueba




Nombre el archivo a buscar: prueba2


Contenido de prueba2
----------------------
prueba2




Nombre el archivo a buscar: prueba3


El archivo prueba3 no ha sido encontrado

#1422
Marca las preguntas resueltas poniendo el icono 'Resuelto' en 'Icono de mensaje' editanto el primer mensaje.
#1423
Me ha gustado. Me quedo con los huargos amaestrados. Estaría bien tener un bicho de esos protegiendo la casa.
#1424
Como dije buscas algo como Cling, que es un JIT, para C++ y como intérprete que es tiene su consola, como python.
Algo más cerca de lo que buscas no creo que encuentres.

Aquí hay una buena opinión de porqué C/C++ no tienen JIT.
#1425
El argumento está esperando un puntero largo a BYTE (un puntero a BYTE) pero le estás pasando un BYTE. Como son tipos de datos diferentes el compilador se queja. Suponiendo que has definido bien tu BYTE que le pasas a la función pon delante de la variable el símbolo & algo así como:
Converter(..., &miBYTE, ...)
suponiendo que miBYTE es el byte que le vas a pasar a la función como octavo parámetro.
#1426
Sí, pax, en este caso, es un array y por tanto cuándo se acceder a la variable solo con su nombre estás accediendo a la dirección el primer elemento de este array.
Como prueba de ello puedes probar lo siguiente:
/* Después de char pax[]="Juan Sin Miedo"; */
char *puntero_a_char = pax;
printf("%s %s\n",puntero_a_char, &puntero_a_char[4]);
puts(puntero_a_char);
puts(&puntero_a_char[4]);
#1427
& devuelve la dirección de memoria de la variable que le sigue.
%s de printf y puts esperan la dirección de memoria del inicio de una cadena. Un puntero es una dirección de memoria y el nombre de un array también actúa como un puntero.
En cambio cuándo haces pax[4] estás accediendo a una variable de tipo char, no a una dirección. Así para que la opción %s de scanf y puts escriban la cadena a partir de pax[4] hasta el final debes pasárselo como dirección de memoria y eso se hace con el & delante.

Cuando llegues a los punteros sabrás más de ello.
#1428
La función no está sobrecargada ni tiene valores por defecto en el parámetro. Para llamarla debes pasarle tantos argumentos como tiene en su definición, en este caso 10.
#1429
Dice Orb:
Citarhabia que obtener la media de los datos mediante una funcion

Por tanto la media no se debe obtener en el mismo cálculo.
Por otra parte, en caso de hacerlo todo en la misma función el usar un array sería malgastar memoria y tiempo de cálculo de la posición de elementos.
#1430
Orb, los argumentos de la función main, argc y argv, son para acceder a los parámetros que se le pasa al programa como información adicional.

argc es un entero que indica cuántos parámetros se han enviado. El nombre del programa es el primer parámetro y por siempre tendrá un mínimo valor de 1.

argv es un array de cadenas, cada una de ellas es un parámetro pasado al programa, así pues suponiendo la siguiente ejecución de un programa en línea de comandos:

miprogramasuma 1 2

argc valdrá 3, marcando que se han introducido tres parámetros por llamada.
argv[0] será la cadena miprogramasuma
argv[1] será la cadena 1
argv[2] será la cadena 2

Hay que recordar que todo son cadenas, incluso los números que se han pasado como argumentos son cadenas y no se pueden operar matemáticamente sin antes haberlos convertidos a su valor numérico.
También hay que tener en cuenta que, como son argumentos de main, solo son visibles a esta función.
Por último, argc y argv son nombres de variables que pueden ser llamadas de otra forma (p. ej. nargs y argum) pero que por convención tienen estos nombres.