小编ban*_*xxx的帖子

如果陈述含糊不清

我正在尝试编写自己的代码来遍历PATH,以便在C编程中找到可执行文件作为学习练习.(成功后我可能会用别人的代码替换它,但是现在我想了解我的错误).

以下代码部分没有跳到我期望的else语句......

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>

#define EXECUTABLE S_IXOTH /* executable by others */
#define MAX_PATH_LEN 1024

void message (const char *msg)
{
  fprintf(stdout, "INFO: %s\n", *msg);
}

int main (int argc, char *argv[], char *envp[])
{
  char *editor;
  struct stat editor_stat;
  char full_path[MAX_PATH_LEN];
  int found_path;

  memset(full_path,0,MAX_PATH_LEN);
  strcpy(full_path,"/bin/ed");
  found_path=stat(full_path,&editor_stat);

  if (found_path!=0) {
    editor=NULL;
    message("The EDITOR specified is not found in the PATH. Using default editor");
  } else {
    if (editor_stat.st_mode&EXECUTABLE==0) …
Run Code Online (Sandbox Code Playgroud)

c compiler-construction if-statement

2
推荐指数
1
解决办法
172
查看次数

标签 统计

c ×1

compiler-construction ×1

if-statement ×1