Direntp当前目录shell C
我对此功能有问题:Direntp当前目录shell C,c,ls,stat,C,Ls,Stat,我对此功能有问题: dirp = opendir(ruta); if (dirp != NULL){ while ((direntp=readdir(dirp)) != NULL) { stat(ruta, &estructura); 对不起,我的英语。。。我希望你能理解我 ------------------------------------------------------------------------
dirp = opendir(ruta);
if (dirp != NULL){
while ((direntp=readdir(dirp)) != NULL) {
stat(ruta, &estructura);
对不起,我的英语。。。我希望你能理解我
-------------------------------------------------------------------------------------
谢谢,这个功能非常好用
我为此更改了代码:
while ((direntp=readdir(dirp)) != NULL) {
sprintf( cwd, "%s/%s", ruta, direntp->d_name );
stat(cwd, &estructura );
谢谢你的帮助,很抱歉在这里写信,但我不能在7小时内写评论。
谢谢
谢谢这是因为您从
stat
获取目录的信息,即您传递给opendir
的目录
您必须使用该目录作为基础,然后附加从
readdir
获取的文件名,这是因为您从stat
获取该目录的信息,即传递给opendir
的目录
您必须使用该目录作为基础,然后附加从
readdir
获取的文件名,这是因为您从stat
获取该目录的信息,即传递给opendir
的目录
您必须使用该目录作为基础,然后附加从
readdir
获取的文件名,这是因为您从stat
获取该目录的信息,即传递给opendir
的目录
您必须使用该目录作为基础,然后附加从
readdir
获取的文件名,您总是为目录本身调用stat
这…:
while ((direntp=readdir(dirp)) != NULL) {
stat(ruta, &estructura);
...
}
。。。应该是这样的:
while ((direntp=readdir(dirp)) != NULL) {
char pathname[1024];
sprintf( pathname, "%s/%s", ruta, direntp->d_name );
stat( pathname, &estructura );
...
}
您总是为目录本身调用
stat
这…:
while ((direntp=readdir(dirp)) != NULL) {
stat(ruta, &estructura);
...
}
。。。应该是这样的:
while ((direntp=readdir(dirp)) != NULL) {
char pathname[1024];
sprintf( pathname, "%s/%s", ruta, direntp->d_name );
stat( pathname, &estructura );
...
}
您总是为目录本身调用
stat
这…:
while ((direntp=readdir(dirp)) != NULL) {
stat(ruta, &estructura);
...
}
。。。应该是这样的:
while ((direntp=readdir(dirp)) != NULL) {
char pathname[1024];
sprintf( pathname, "%s/%s", ruta, direntp->d_name );
stat( pathname, &estructura );
...
}
您总是为目录本身调用
stat
这…:
while ((direntp=readdir(dirp)) != NULL) {
stat(ruta, &estructura);
...
}
。。。应该是这样的:
while ((direntp=readdir(dirp)) != NULL) {
char pathname[1024];
sprintf( pathname, "%s/%s", ruta, direntp->d_name );
stat( pathname, &estructura );
...
}
OT:code没有检查调用
stat()
的结果。在total
行中打印的ls
是每个文件的块数总和(look)。您无法通过一次调用stat()
获得它,但必须自己添加所有大小的块。OT:代码没有检查调用stat()
的结果。在total
行中打印的ls
是每个文件的块数之和(look)。您无法通过一次调用stat()
获得它,但必须自己添加所有大小的块。OT:代码没有检查调用stat()
的结果。在total
行中打印的ls
是每个文件的块数之和(look)。您无法通过一次调用stat()
获得它,但必须自己添加所有大小的块。OT:代码没有检查调用stat()
的结果。在total
行中打印的ls
是每个文件的块数之和(look)。您无法通过一次调用stat()
获得它,但必须自己添加所有块大小。感谢您的帮助。请帮助我使用st_块感谢您的帮助。请帮助我使用st_块感谢您的帮助。请帮助我使用st_块感谢您的帮助。请帮助我使用st_块感谢您的帮助。请帮助我使用st_块