c ++ - Koden viser indholdet af en mappe på konsollen, men den venter ikke på `getch ()`

Indlæg af Hanne Mølgaard Plasc

Problem



Når jeg bruger det første kodeord, er der ingen fejl, men når jeg bruger det andet parti kode, kører programmet og viser indholdet af en mappe på konsollen, men det venter ikke på getch() og Windows siger det programmet er ophørt med at arbejde.


Første masse kode (værker):


#include<iostream>
#include<conio.h>
#include<dirent.h>

using namespace std;

int main() {

    DIR *dir=NULL;
    struct dirent *sdir;

    dir= opendir(".");

    while(sdir=readdir(dir)){

        cout<<endl<<sdir->d\_name;
    }

    getch();
    return 0;
}


Andet parti kode (stopper med at arbejde):


#include<iostream>
#include<conio.h>
#include<dirent.h>

using namespace std;

int main() {

    DIR *dir=NULL;
    struct dirent *sdir;

    dir= opendir(".");
    sdir=readdir(dir); cout<<sdir->d\_name;
    while(sdir){
        sdir=readdir(dir);
        cout<<endl<<sdir->d\_name;
    }

    getch();
    return 0;
}

Bedste reference