stdin
-
Hallo C Gemeinde !
Ich habe ein Programm bei dem über einen Filepointer und stdin Daten direkt aus einem File eingelesen werden.
FILE *fpi, *fpo, *fpt, *fpm; /* file pointers */
/* The image file and the stereologic analysis file are defined through */
/* directed input and output, respectively. */fpi = stdin;
fpo = stdout;/* Allocate memory for image array */
tsize = xsize*ysize*zsize;
image = (unsigned char *)calloc(tsize,sizeof(unsigned char));
if(image == NULL) {
fprintf(stderr,"ERROR: could not allocate memory for image\n");
exit(EXIT_FAILURE);
}time(&begin_time); /* begin clock */
/* Read in image array */
got = fread(image, sizeof(unsigned char),tsize, );
if(got < tsize) {
fprintf(stderr,"ERROR: only got %ld of %ld voxels\n",got,tsize);
exit(EXIT_FAILURE);
}
fclose(fpi);/* Call routine to determine stereology parameters, based on random */
/* rotations of the test line grid */got = gridrota(image);
Leider weiß ich nicht genau wie diese Art des Datenlesens funktioniert bzw. wo man überhaupt den Namen der einzulesenden Datei angeben kann. Es wird über fread ein Array von Daten eingelesen. ABer aus welchem File? Könnte mir da Jemand weiterhelfen?
vielen Dank
MfG stero22
-
a) Frage hat hier nichts zu suchen, gehört ins C-Forum
b) diese Vorgehensweise ist bei UNIX Kommandozeilenprogrammen üblich, die Umleitung geschieht dann mit '>' und '<' Operatoren in der Kommandozeile:bla <input.dat >output.dat
input.dat spielt dann die Rolle von stdin, output.dat die von stdout
Deswegen findest Du im Programm auch keine Dateinamen.
-
Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.