Zeilen in mehrdimen. Array Speichern

MrMorpheus

Grünschnabel
Hi Zusammen,
habe leider mal wieder ein Problem, welches mir Kopfzerbrechen bereitet. Eigentlich geht es nur darum ein Textfile, in dem sich mehrere Zeilen ( pro Zeile nur ein Wort) befinden, in ein Array zu speichern und dieses Array dann an eine Funktion zu übergeben.
Hier erst einmal mein Ansatz:
C:
#include <stdio.h>
#include <stdlib.h>
#include <string.h> // für strcpy()

int askFilter(char filter, int filterc, char line[100], char adon[5]) {
	int i;
	for(i = 0; i <= filterc; i++) {
		printf("%d/%d> %s",i,filterc,filter[i]);
	}
	return 0;
}

int main(int argc, char *argv[]) {
		
	/* Filter einlesen*/

	FILE *fs;
	char fline[50];												// Wert des Filters
	int p = 0;												// Anzahl der Zeilen
	int a = 0;
	int fbin = 0;										// Filter Schalter
	fs = fopen("filter.txt","r");								
	char cont[200][50];											// Filter Speicher [id][text]
	
	if( fs != NULL ) {
		while((fscanf(fs,"%s\n",fline)) != EOF ) { p++; }		// Anzahl der Zeilen im Filter ermitteln
		a = p;
		fclose(fs);
		char cont[p][100];
		if(p > 0) {												// Wenn elemente im Filter
			fbin = 1;											// Filter aktiviren
			
			fs = fopen("filter.txt","r");
			printf("%d Einträge gefunden\n\n",p);
			p = 0;															// Zähler zurücksetzen
			while((fscanf(fs,"%s\n",fline)) != EOF ) {				// Speichern der Werte im Filter - Array
				strcpy(cont[p++],fline);						// Speichert leider nichts
				//printf("%s\n",fline);
			}
			fclose(fs);
		}
	}
	
	if(fbin)
	askFilter(cont,a,"foo","foo");

	return EXIT_SUCCESS;
}
Beim compelieren erhalte ich den Fehler: "Type error in argument 1 to 'askFilter'; found 'char [50] *' expected 'char'." Das Problem hier liegt wahrscheinlich daran, dass ich nicht weis wie ich das Array übergeben darf.

Hoffe ihr hab nen Tipp =)
euer MrMorpheus
 
Moin!

Kann es sein, dass Du in deinem Array nur einzelne Zeichen und keinen String speichern kannst, weil du es nicht als char*[100] (Pointer) deklariert hast :confused: :)

Gruß
Enum
 

Neue Beiträge

Zurück