Datei in ein Array laden



  • servus,

    ich möchte eine Reihe von Zahlen einlesen.

    Das Format sieht so aus:

    1,2,3,4,5,6
    3,2,1,5,4,3
    usw...

    wie soll ich das einlesen?

    - Erst eine Reihe einlesen. (wie macht man das)
    - Dann die Zahlen raussortieren ohne die Kommas (ich glaube das bekomme ich hin)

    und so weiter bis Dateiende.



  • Datei öffnen mit fopen(), Zeile auslesen mit fgets() und dann mit sscanf() die einzenlen Werte rausziehen. Dann nächste Zeile usw...



  • Und wie stelle ich fest wie lang die Datei ist. Also wie lange ich fgets() aufrufen muss?
    Und wie stelle ich fest wie lange eine Zeile ist. Wieviel Zeilen muss ich pro Zeile einlesen?



  • #include<stdio.h>
    
    int main()
    {
    	int v1,v2,v3,v4,v5,v6;
    
    	char line[256];
    	char buffer[256];
    	FILE* pFile;
    	pFile = fopen("datei.txt", "r");
    	while(fgets(line,256,pFile))
    	{
    		sscanf(line,"%d,%d,%d,%d,%d,%d",&v1,&v2,&v3,&v4,&v5,&v6);
    		sprintf(buffer,"%d %d %d %d %d %d \n",v1,v2,v3,v4,v5,v6);
    		printf(buffer);
    	}
    
    	fclose(pFile);
    
    	return 0;
    }
    

    So habe es jetzt hinbekommen. Ufff 😃


Anmelden zum Antworten