使用dirent.h将文件名保存为字符串

时间:2018-07-10 05:29:39

标签: string file directory dirent.h getopenfilename

所以我想将文件名保存为字符串,但是我不知道该怎么做。到目前为止,这是我的代码,我想将文件名保存到变量y中,但是我得到的输出通常只是乱码。

 #include <iostream>
 #include <string>
 #include <dirent.h>
#include <typeinfo>
using namespace std;
int main()
{
DIR *dir;
string str,test;
struct dirent *ent;

if ((dir = opendir("F:\\Test\\")) != NULL) {
    /* print all the files and directories within directory */
    while ((ent = readdir(dir)) != NULL) {
        printf("%s\n", ent->d_name);
        //test = ent_ > d_name;
        string y = ent->d_name;
        printf("%s\n", y);
    }
    closedir(dir);
}
else {
    /* could not open directory */
    getline(cin, str);
    perror("");
}



getline(cin, str);

return 0;
  }

0 个答案:

没有答案