von Funktion andere Funktion aufrufen
-
Hallo,
Ich würde gerne eine andere Funktion in der Programmiersprache C aufrufen. Allerdings gelingt mir das nicht(bin absoluter Newbie). Hier ein Auschnitt meines Codes:
int eingabe()
{extern int kb1();
/*
kb64();
kb128();
kb256();
kb512();
mb1();
mb2();
mb4();
mb8();
mb16();
mb32();
mb64();
mb128();
mb256();
mb512();
g1();
g2();
*/int a1;
int a2;
printf("Geben Sie ein, bis zur welchen Dateigröße geschrieben werden soll: Bsp.:1kb = 1, 2kb = 2");
a2 = scanf("%d",a1);if(a2 == 1)
{
kb1();
}if(a2 == 2)
{
extern int kb1();
extern int kb2();
}if(a2 == 3)
{
extern int kb1();
extern int kb2();
extern int kb4();
}Mir gelingt es aber nicht auf die Funktionen zuzugreifen. Wie mache ich das?
Eine Funktion ist z.B.:
int kb1()
{
FILE* datei1;
long a = 0;
datei1=fopen("kb1.txt","a+");do
{
fprintf(datei1, "1");
a++;
if(datei1==NULL)
{
//fehler beim oeffnen
return -1;
}
}
while (a < 1024);
return a;
fclose(datei1);
}
-
Fehlermeldungen? Was genau willst du machen? Etc... Außerdem, wenn ich den Code mal ins Reine bringe, was du anscheinend nicht hinkriegst, lässt er sich kompilieren. Wenn der Code so aussieht, ist es nicht wunderlich, dass man mal eine Klammer vergisst.
int eingabe() { extern int kb1(); int a1; int a2; printf("Geben Sie ein, bis zur welchen Dateigröße geschrieben werden soll: Bsp.:1kb = 1, 2kb = 2"); a2 = scanf("%d",a1); if(a2 == 1) { kb1(); } if(a2 == 2) { extern int kb1(); extern int kb2(); } if(a2 == 3) { extern int kb1(); extern int kb2(); extern int kb4(); } } int kb1() { FILE* datei1; long a = 0; datei1 = fopen("kb1.txt","a+"); do { fprintf(datei1, "1"); a++; if(datei1==NULL) { return -1; } } while (a < 1024); return a; fclose(datei1); }
Ich verstehe nicht was du mit extern da rumhantierst.
-
Falsches Forum
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.