c Datei einlesen und Daten verarbeiten

Code:
            fscanf(fp, "%d", &temp);
Das kann doch nur schief gehen, wenn du einen Ganzzahlwert in eine Fließkommavariable schreibst. Probier es mal so:
C:
float targetValue = 20.0f;

FILE* fp = fopen("C:\\ProgramFiles\\cpp\\Katalog1.txt", "r");
if (fp == NULL)
{
  printf("Fehler beim Oeffnen.\n");
  return 1;
}
printf("Datei erfolgreich geoeffnet.\n");

float minDelta = 100.0f, nearestValue = 0.0f, value;
while (fscanf(fp, "%f", &value) > 0)
{
  float delta = fabs(targetValue - value);
  if (delta < minDelta)
  {
    minDelta = delta;
    nearestValue = value;
  }
}
fclose(fp);

printf("WERT: %f\n", nearestValue);
Grüße, Matthias
 

Neue Beiträge

Zurück