Googlehupf
Erfahrenes Mitglied
Hi zusammen,
ich habe hier ein Bsp-Programm das zeigt das erstellen einer .dat datei und dann mit fwrite das irgendwie binär in die datei ".dat" schreibt.
1. Was bedeutet der format ".dat"?
2. Was bringt es überhaupt Werte binär in ein file schreiben in meinem Fall?
3. Wenn ich die .dat nach dem compilieren mit Hilfe des Notpad++ öffne, dann steht da:
)NUL NUL NUL#HNUL NUL usw. Was bedeutet das? Das ist doch kein Binär.
4. fwrite() wandelt alle Zahlen auf den der Pointer actVal bzw. arrayValues zeigt in Binär um, oder wie funktioniert das genau?
Hier das Programm:
Gruß
Googlehupf
ich habe hier ein Bsp-Programm das zeigt das erstellen einer .dat datei und dann mit fwrite das irgendwie binär in die datei ".dat" schreibt.
1. Was bedeutet der format ".dat"?
2. Was bringt es überhaupt Werte binär in ein file schreiben in meinem Fall?
3. Wenn ich die .dat nach dem compilieren mit Hilfe des Notpad++ öffne, dann steht da:
)NUL NUL NUL#HNUL NUL usw. Was bedeutet das? Das ist doch kein Binär.
4. fwrite() wandelt alle Zahlen auf den der Pointer actVal bzw. arrayValues zeigt in Binär um, oder wie funktioniert das genau?
Hier das Programm:
C++:
//1. c-file(main)
#include <stdio.h>
#include <stdlib.h>
#include "compl.h"
#define MAX_STRLEN 20
void main()
{
char filename[MAX_STRLEN]="daten.dat";
int file_len = 20;
FILE *outFile=NULL;
complex* arrayValues=NULL;
complex* actVal = NULL;
int n=0;
arrayValues=malloc(sizeof(complex)*file_len);
if (arrayValues != NULL)
{
actVal=arrayValues;
for(n=0; n<file_len; n++)
{
actVal->real=rand();
actVal->imag=rand();
c_print(*actVal);
actVal++;
}
actVal=arrayValues;
outFile=fopen(filename,"wb"); // wb = write binary siehe buch
if (outFile != NULL)
{
if (file_len != fwrite(arrayValues,sizeof(complex),file_len,outFile))
{
printf("error during write of %d blocks!\n",file_len);
}
fclose(outFile);
}
else
{
printf("cannot write file %s!",filename);
}
free(arrayValues);
}
}
//2. c-file:
#include "compl.h"
#include <stdio.h>
void c_print(complex a)
{
printf("%d + j%d\n",a.real,a.imag);
}
//h-file:
struct complex_struct
{
int real;
int imag;
};
typedef struct complex_struct complex;
void c_print(complex a);
Gruß
Googlehupf