Ich versuche, Daten aus einer .tsv4-Datei zu erhalten. Immer wenn der Code ausgeführt wird, kehrt er mit einem Segmentierungsfehler zurück: 11. Das Ziel des Codes besteht darin, die unbekannten Zahlen in einem Array zu speichern, ohne die Anzahl der Zahlen in der Datei zu kennen. Die Datei, auf die ich zugreifen möchte, hat 92 Gleitkommawerte und speichert sie ordnungsgemäß. Aber es wird immer noch den Segmentierungsfehler geben. Ich weiß, das wegen eines Speicher Problem ist, nur nicht sicher, wie es zu handhabenfscanf Segmentierung Fehler: 11
Die Datei aus der Leitung 24, um die Segmentierungsfehler zu bekommen scheint
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int getFileInfo(const char *filename, float list[]);
int main(void)
{
float list[] = {0};
int size = getFileInfo("numbers.tsv4",list);
return 0;
}
int getFileInfo(const char *filename, float list[])
{
FILE* spData;
if((spData = fopen(filename, "r")) == NULL)
{
fprintf(stderr, "Error opening file %s.\n",filename);
exit(1);
}
int i = 0;
while(fscanf(spData, "%f", &list[i]) != EOF)
{
i++;
}
if (fclose(spData) == EOF)
{
fprintf(stderr, "Error closing file %s.\n", filename);
exit(2);
}
return i + 1;
}
Du hast nicht zuteilen genügend Speicher .... Aber im Ernst zu bekommen, wir müssen Ihren Code sehen, wenn Sie wirklich Hilfe brauchen – UnholySheep
Bitte Sir - kann ich einen Höhepunkt im Code haben? –
Das ist kein Code, das ist ein Bild. – melpomene