【发布时间】:2017-04-07 12:48:31
【问题描述】:
我对@987654323@ 还很陌生,并且开始学习头文件。在使用我的标题时,我收到一条错误消息invalid type argument of '->' (have struct dirent)。我不明白这是什么意思,我读到here-> 的第二个参数必须是一个指针,所以我尝试向它添加一个*(ent->*d_name) 但是然后我得到错误意外令牌*,我该如何解决这个问题?
#ifndef UTILIS_H_INCLUDED
#define UTILIS_H_INCLUDED "utilis.h"
#include <stdio.h>
#include <dirent.h>
char *connect(const char *pattern)
{
struct dirent ent;
char *d_name;
DIR *mgt = opendir("\\\\example\\windows7apps");
while ((ent = readdir(mgt)) != pattern)
{
puts(ent->d_name);
}
}
#endif
【问题讨论】:
-
您可能想阅读例如this
readdirmanual page。readdir返回什么?ent的类型是什么? -
如果这是一个标头,你绝对不希望这里有整个函数定义。将其移至 .c 文件或将其标记为
inline。 -
@DeiDei
inline是什么?
标签: c pointers structure readdir