Hallo Community,
das ist mein erster Beitrag.
Ich sitze vor einer Programmieraufgabe in C.
Aufgabenstellung:
Deklarieren Sie ein struct namens intArray, welches einen Zeiger auf ein Integer-Array sowie die Länge des entsprechenden Arrays speichern kann.
Schreiben sie eine Funktion intArray* readFromFile(char* filename), welche ganze
Zahlen aus einer Datei einliest und diese über ein intArray zurückgibt. Die einzelnen Zahlen sind in der Datei durch Zeilenumbrüche (newline) getrennt.
Also ich hab meiner Ansicht nach alles getan, was da steht und ich bekomme trotzdem Fehlermeldungen, die ich nicht verstehe und da wollte ich Fragen ,ob ich von Euch eine kleine Hilfe bekommen könnte.
Ich muss dazu sagen, dass ich ein totaler Neuling in C bin.
Mein Ansatz:
das ist mein erster Beitrag.
Ich sitze vor einer Programmieraufgabe in C.
Aufgabenstellung:
Deklarieren Sie ein struct namens intArray, welches einen Zeiger auf ein Integer-Array sowie die Länge des entsprechenden Arrays speichern kann.
Schreiben sie eine Funktion intArray* readFromFile(char* filename), welche ganze
Zahlen aus einer Datei einliest und diese über ein intArray zurückgibt. Die einzelnen Zahlen sind in der Datei durch Zeilenumbrüche (newline) getrennt.
Also ich hab meiner Ansicht nach alles getan, was da steht und ich bekomme trotzdem Fehlermeldungen, die ich nicht verstehe und da wollte ich Fragen ,ob ich von Euch eine kleine Hilfe bekommen könnte.
Ich muss dazu sagen, dass ich ein totaler Neuling in C bin.
Mein Ansatz:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
intArray* readFromFile(char* filename){
FILE *datei;
if ( (datei = fopen("filename", "r")) == NULL){
return errno;
}
int a=0;
int zahl;
intArray zahlen;
zahlen.n=1000000;
zahlen.array=malloc(sizeof(int)*n);
while (fscanf (datei, "%i", &zahl) == 1) {
zahlen.array[a];
a++;
}
for (int i = 0; i < a; ++i ) {
printf ("%i ", zahlen.array[i]);
}
puts ();
return zahlen;
}
int main(int argc, char* argv[]){
typedef struct{
int n;
int* array[];
}intArray;
readFromFile(argv[1]);
return 0;
}
Zuletzt bearbeitet von einem Moderator: