/************************************************/
/* soubor IO_PV02.C */
/* cte binarni soubor ODMOC.DTA, ktery obsahuje */
/* hodnoty druhych odmocnin od 1 do 99 */
/* hodnoty jsou typu float */
/* hledanou hodnotu odmocniny najde v souboru */
/* pomoci lseek */
/************************************************/
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
int main(void)
{
const int mez = 100;
int handle, i;
char *jmeno = "odmoc.dta";
float f;
handle = open(jmeno, O_BINARY | O_RDONLY);
if (handle == -1)
{
printf("Chyba!\nSoubor %s nejde cist.\n", jmeno);
return(handle);
}
printf("zadej hodnotu <1..%3d> :", mez - 1);
scanf("%d", &i);
while ((i >= 1) && (i < mez))
{
if (lseek(handle, ((long) i - 1l) * sizeof(float), SEEK_SET) == -1l)
{
printf("Chyba pri nastaveni na %2d. polozku\n", i);
return(1);
}
if (read(handle, &f, sizeof(float)) != sizeof(float))
{
printf("Chyba pri cteni %2d. hodnoty\n", i);
return(1);
}
printf("2. odmocnina z %3d je %10.4f\n\n", i, f);
printf("zadej hodnotu <1..%3d> :", mez - 1);
scanf("%d", &i);
} /* while ((i >= 1) && (i < mez)) */
close(handle);
return(0);
} /* int main(void) */