Logo

¡Bienvenido a Stratos!

Acceder

Foros



Menu

Mostrar Mensajes

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

Mostrar Mensajes Menu

Temas - nsL

#41
General Programadores / Fwrite
27 de Agosto de 2004, 12:53:38 AM
 a ver is me entero bien...
La funcion fwrite(); de stdio.h se supone q escribe un bloque de bytes , visto byte a byte segun un libro q tengo...
Si compilo este codigo:


#include "stdio.h"

struct
{
int num;
char nom[30];
}reg;


void main(){


FILE *flujo=NULL;
flujo = fopen("omarin.dat","w");
reg.num = 99;
gets(reg.nom);
fwrite(®,sizeof(reg),1,flujo);
fclose(flujo);

}


me crea el fichero omarin.dat.., hasta ahi todo bien
pero cuando lo abro pasan 2 cosas:

Desde un windows 98 me trae esto: c joderrrr yaaa (el texto q le meti) (la c es el 99 en ascii)
pero desde un WindowsXP me trae: c jo (creo recordar)

y eso para un registro, si intento escribir una cadena de caracteres simplemente en el 98 me crea el fichero con la cadena de caracteres legible y los caracteres en blanco del final (hasta completar el array de caracteres) con letras Ì
mientras que si hago lo de esa cadena en un XP me escribe unos cuadrados, menos una J por ahi metida....

los ficheros los leo desde el bloc de notas por si habia duda...

si se supone que fwrite escribe en bloques de bytes, no deberia poder leerse desde un editor de texto no?, lo del XP me parece lo mas razonable, pero desde el 98 me lee todo a la perfeccion....

y de no ser asi, q alguien me explique como hace la gente esos ficheros .dat o .loquesea que los abres y son ilegibles..., yo pensaba que era con el fwrite pero ya no se que pensar  :blink:

weno, gracias de antemano, y espero que se entienda lo que puse, que a estas horas estoy espeso  :D  
#42
General Programadores / Chorrada Estructuras De Datos
30 de Junio de 2004, 07:20:41 PM
 Jelou
Me decidi meter con el lenguaje C hace unos dias y ya estoy haciendo algun programita para ir practicando, y decidi hacer uno, que tomando 2 fechas te calcule la distancia temporal (dias meses años) entre ambas (muy tipiko pa ir empezando ;)).
y ya lo tengo hecho, pero me da un error al pasar por referencia una estructura de datos, no se si es por que no entendi bien lo de los punteros o ke, os pongo el codigo y el error q me devuelve:

#include "stdio.h"
#include "stdlib.h"

typedef struct Datos{
   int Anio,Mes,Dia;
}tDatos;

tDatos Actual,Dest,Resul;

void Conversor( tDatos AnioAct,tDatos AnioDest,tDatos *Resultado)
{
   *Resultado.Anio = AnioDest.Anio - AnioAct.Anio;
   *Resultado.Mes = abs(AnioDest.Mes - AnioAct.Mes);
   *Resultado.Dia = abs(AnioDest.Dia - AnioAct.Dia);
}

void main () {

   printf("Escribe la fecha actual (Dia Mes Año): ");
   scanf("%d %d %d",&Actual.Dia,&Actual.Mes,&Actual.Anio);
   printf("/nEscribe la fecha futura (Dia Mes Año): ");
   scanf("%d %d %d",&Dest.Dia,&Dest.Mes,&Dest.Anio);
   Conversor(Actual,Dest, &Resul);
   printf("/n/nLa distancia temporal entre ambas fechas es de:");
   printf("%d Días %d Meses %d Años",Resul.Dia,Resul.Mes,Resul.Anio);
}

Errores:

C:\Omar\programacion\anios.cpp(12) : error C2228: left of '.Anio' must have class/struct/union type
C:\Omar\programacion\anios.cpp(13) : error C2228: left of '.Mes' must have class/struct/union type
C:\Omar\programacion\anios.cpp(14) : error C2228: left of '.Dia' must have class/struct/union type

estoy bajo VC++ 6.0 (aunq no creo q importe), aver si me decis en que falla, q ya mire por manuales y no se donde puede estar el fallo :(
thx de antemano
#43
General Programadores / Compilar En Vc++ 6.0
30 de Mayo de 2004, 11:10:18 AM
 pues es que acabo de instalarlo el VC6 y estaba haciendo una libreria, pero resulta q el archivo de cabeceras no me deja compilarlo (.h), dice que no hay herramienta de compilado asociada a ese tipo de extensiones.. y el caso es que con el DEV-C++ tmpc me deja..

como toi empezando con c++ seguro q se me pasa por alto algo, o que no se pueden compilar o yo ke se
thx de antemano  :P  
#44
General Programadores / Archivo "paquete"
21 de Abril de 2004, 07:09:30 PM
 Wenasss

1) Queria saber como puedo crear archivos que contengan varios (me explico): como si fuese un zip, pero sin estar comprimidos, y que luego pueda acceder desde un programa en c (por decir alguno) y elegir el archivo que quiera. por ejemplo pa un juego, meter todos los bmps en un archivo .pak (por ejemplo, aunq creo q ya existe) y luego desde el programa elegir el bmp que quiera.

2)Creo que sera la misma forma de crearlos que 1) pero tb me interesaria saber como crear archivos que a parte de contener archivos pueda contener texto, numeros, etc.. es decir, un archivo que contenga los elementos de una estructura de datos:

struct {
    int vida;
    FILE pepe;
    char* pedo;
}

seguro que hay fallos en el cutre-codigo, peor no viene al caso, esa es la idea que digo, si se puede rellenar un fichero con ese tipo de informacion y que luego leyendolo desde C , rellene cada campo de la estructura de datos
thx de antemano :P
#45
Programación gráfica / Editor Mapa Tiles 2d
21 de Abril de 2004, 03:58:01 PM
 Wenas, es la primera vez que posteo en estos foros, aunq llevo varias semanas consultandolos y me es de gran ayuda..
el problema es el siguiente:
Toi liao con C++ y SDL y haciendo algun juego, y la verdad es que necesito hacer un editor de mapas, porque usar los que ya hay hechos no tiene mucho misterio la verdad..
aqui viene el problem:
1) Como creo un programa(ventana) con menus de Archivo y todo eso? con las librerias de win32? o como va el tema..
2)Lo que es la matriz con los tiles tenia pensado hacerla con sdl, pinchando los tiles y poniendolos en las posiciones que necesite, pero como añado entonces a una ventana sdl los menus que dije en 1).


eso es todo de momento, que tengo clase ahora, luego me conecto y os pongo otro post con otras dudas... ahora que me dio por registrarme vais a ver muchos post con preguntas mias :P
thx de antemano





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.
Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.