Hi!
fopen wird ja so deklariert: fopen(char *dateiname, char *type)
Der erste parameter ist also ein zeiger auf den Dateinamen.
Nein. der erste parameter is ein zeiger auf char. in C sind strings ja einfach nur zeiger auf char.
fopen("abc.xyz", "w");
die Datei abc.xyz geöffnet. Hier wird doch aber einfach der Dateinamen und keine Zeiger(Adresse) übergeben?!?
wie gesagt, strings sind nur char-arrays. wenn du nun "abc.xyz" uebergibs, kommt das einem
Code:
char *dateiname = "abc.xyz"
gleich.
strings kannst du in C folgendermaßen einen "wert" geben:
Code:
char *string = "ein string";
char string[10] = "ein string";
//-----------------------------------
char *string;
string = (char*)malloc(10*sizeof(char));
strcpy(string,"ein string");
//-----------------------------------
in allen beispielen ist ja string einfach nur ein zeiger auf char, wobei die addresse von string in allen beispielen auf den ersten buchstaben des strings zeigt (also "e" )
somit uebergibs du fopen als ersten parameter wie es die funktion erwartet einen zeiger auf char.
-ponzellus-
Lesezeichen