gracias a los dos, leyendome el articulo de wikipedia lo acabe de entender.
un saludo!
un saludo!
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úCitarEn segundo lugar, la carga no la puedes medir con un voltimetro.
CitarAl parecer el foro libre no es tan libre., es cierto que este foro es de informática pero tambien es cierto que colocaron foro libre para hablar de lo que uno se le plazca sin ofender a los demás, pero creo que hay algunas personas que se ofenden con cualquier cosa. Al que no le gusta, que no lea, pero bueno los jefes son otros.
CitarDe momento gozaremos de 5 dias de tranquilidad....a ver si aprendemos a comportarnos.
CitarNo es valida si se compila según el estándar C90, este requiere que el numero de elementos en un array se indique mediante una expresión constante.gracias por comentarlo, no tenia ni idea y ya me he puesto al dia leyendo sobre ello.
Pero en los dos siguientes estándares de C (C99 y C11) si es posible, a esos arrays donde el numero de elementos se calcula en tiempo de ejecución se les conoce como "variable length arrays" o "VLAs".
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv) {
char fichero[]="prueba.txt", aux;
unsigned int num=0, i;
FILE *f;
//comprobaciones de error
if (argc != 2) {
printf("MODO DE USO: %s \"frase\"\n", argv[0]);
exit(0);
}
if (!(f=fopen(fichero, "r+"))) {
printf("ERROR: No se pudo abrir %s.\n", fichero);
if (!(f=fopen(fichero, "w"))) {
printf("ERROR: No se pudo crear %s.\n", fichero);
exit(1);
} else printf("Fichero %s creado.\n", fichero);
}
//lineas totales en el archivo
do {
i=fread(&aux, sizeof(char), 1, f);
if (aux == '\n') num++;
} while (i > 0);
if (num == 0) num++;
//escribimos el numero y la frase
fprintf(f, "%u %s\n", num, argv[1]);
fclose(f);
return 0;
}