Blauer_Baer
05-12-2005, 18:10
Hi
kann mir evtl jemand erklären warum bei folgendem code die klammern um das *dirzeiger müssen.
printf("%s\n",(*dirzeiger).d_name);
ich verstehe das
(*dirzeiger).d_name
als ein normales struct, und mir währe es neu wenn da ein teil in klammern müsse. Es lies sich sowohl unter Windows als auch unter Linux ohne klammern nicht compilieren.
Hier der gesamte code.
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <dirent.h>
int main()
{
DIR *dir;
struct dirent *dirzeiger;
/* Verzeichnis öffnen */
if((dir=opendir("C:/Dokumente und Einstellungen/Ich/Desktop"))!= NULL)
/* komplettes Verzeichnis Eintrag für Eintrag auslesen */
while ((dirzeiger=readdir(dir)) != NULL)
printf("%s\n",(*dirzeiger).d_name);
system("Pause");
return 0;
}
Vielen dank schon einmal im vorraus und Gruß
Blauer_Baer
kann mir evtl jemand erklären warum bei folgendem code die klammern um das *dirzeiger müssen.
printf("%s\n",(*dirzeiger).d_name);
ich verstehe das
(*dirzeiger).d_name
als ein normales struct, und mir währe es neu wenn da ein teil in klammern müsse. Es lies sich sowohl unter Windows als auch unter Linux ohne klammern nicht compilieren.
Hier der gesamte code.
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <dirent.h>
int main()
{
DIR *dir;
struct dirent *dirzeiger;
/* Verzeichnis öffnen */
if((dir=opendir("C:/Dokumente und Einstellungen/Ich/Desktop"))!= NULL)
/* komplettes Verzeichnis Eintrag für Eintrag auslesen */
while ((dirzeiger=readdir(dir)) != NULL)
printf("%s\n",(*dirzeiger).d_name);
system("Pause");
return 0;
}
Vielen dank schon einmal im vorraus und Gruß
Blauer_Baer