【发布时间】:2020-12-23 23:28:36
【问题描述】:
我的代码如下:
#include <stdio.h>
#include <dirent.h>
#include <string.h>
int main(void) {
DIR *myDir;
struct dirent *myFile;
myDir = opendir("/");
while ((myFile = readdir(myDir)))
{
char myStr[256] = "foo";
printf("%s\n", myFile->d_name);
printf("%s\n", myStr);
}
closedir(myDir);
return (0);
}
上面的代码有效。但是后来我尝试用char myStr[256] = myFile->d_name;替换char myStr[256] = "foo";,当我尝试编译时收到错误消息“error: invalid initializer”。
知道如何解决吗?看来char myStr[256]需要另选一个类型,但不知道应该选择哪个类型...
【问题讨论】:
标签: c directory operating-system filesystems system-calls