Unix 路径搜索 C 函数 [关闭]

2024-01-11

我正在编写 UNIX shell 程序,并且必须使用execv()系统调用来创建进程。 参数之一为execv()是可执行文件的文件路径。所以如果有人输入/bin/ls,它将运行ls可执行的。但我需要的是一个函数,当ls输入后,它将搜索文件路径ls(像which命令)。有没有一个功能可以让我做到这一点?

不幸的是,这是一个学校项目,我不允许使用execvp()。我需要实现一些路径搜索功能,然后将该文件路径添加到execv()范围。


Use PATH = getenv("PATH")从环境中获取路径字符串,然后使用连续调用strtok(PATH,":") then strtok(NULL,":")解析出来自的路径PATH字符串放入数组中char **path,您需要分配它malloc(). Place path[x] + '/' + argv[0]进入缓冲区,并使用access(buffer, X_OK)查看是否可以在该路径位置执行文件,如果可以,请执行execv(buffer,argv).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unix 路径搜索 C 函数 [关闭] 的相关文章

  • 为什么静态方法不能用作 ASMX Web 服务中的 Web 服务操作?

    我只是想了解为什么我不能在 Web 服务中使用静态 Web 方法 为什么会受到限制 有人可以给我对此进行简洁的解释吗 答案是 因为你不能 它不是这样设计的 其设计是 将创建 Web 服务类的实例 然后调用实例方法 我只能猜测微软为什么这样设
  • 在控制台应用程序中使用 SendGrid

    是否可以在 C 的控制台应用程序中使用发送网格 我的代码不起作用 我真的不知道为什么 你可以帮帮我吗 using System using System Net using System Net Mail using SendGrid na
  • 用 while 循环打开文件 - C [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 各位程序员大家好 我的问题不大 我不知道如何打开具有不同数字 在文件名中 的文件 从 1 到存在的任意数量的文件 例如 我有两个 或最
  • 如何在C中实现带连分数的自然对数?

    这里我有一个小问题 根据这个公式创建一些东西 这就是我所拥有的 但它不起作用 弗兰基 我真的不明白它应该如何工作 我尝试用一 些错误的指令对其进行编码 N 是迭代次数和分数部分 我认为它会以某种方式导致递归 但不知道如何 谢谢你的帮助 do
  • C 十六进制常数类型

    我写了以下c代码 include
  • QTabWidget 选项卡在垂直方向,但文本在水平方向

    我正在尝试用 C Qt 制作一个带有这样的侧边栏的应用程序 但是当将 QTabWidget 方向设置为西时 它会使文本垂直 如何让文本位于左侧 但水平对齐 PS 我不需要图标 提前致谢 您可以使用QListWidget http doc q
  • 在 C# 中对 Directory.GetFiles 的结果进行排序

    我有这段代码来列出目录中的所有文件 class GetTypesProfiler static List
  • 转换位域结构的字节顺序

    我需要将位字段结构从小端架构转换为大端架构 最好的方法是什么 因为如果我只是交换结构元素 字节边界就会出现问题 前结构是 struct unsigned int b1 1 unsigned int b2 8 unsigned int b3
  • 在 C# 中遍历 ANTLR AST 的教程?

    有人知道在 C 中遍历 ANTLR 生成的 AST 的教程吗 我能找到的最接近的是this https web archive org web 20201019210638 http www manuelabadia com blog Pe
  • 如何使用 Visual Studio 扩展从当前解决方案中收集类型?

    我创建了 Visual Studio 2012 包 使用 VS2012 SDK 该扩展 如果安装在客户端的 IDE 环境上 应该具有从开发人员正在开发的当前打开的解决方案中收集所有特定类型的功能 Visual Studio Designer
  • 3D 图形批处理

    很多网站 文章都说 批量 批 批 有人可以解释一下着色器中的 批处理 代表什么吗 即 是否 改变纹理 更改任意着色器变量 意味着某些东西不能 批处理 最简单的总结方法就是尝试尽可能少地调用 API 来绘制您需要绘制的内容 使用顶点数组或 V
  • Akka.net 和单元测试

    我想使用 Akka net TestKit 编写单元测试 但我有一个问题 我有一个 SubscriptionService 类 它负责将消息传输给选定的参与者 public class SubscriptionService Receive
  • 更改鼠标悬停时的矩形背景

    所以我有一个没有背景的矩形 当用户将鼠标悬停在其上时 我想给它一个背景渐变 然后当鼠标离开矩形时删除渐变 请有人发布所需的代码 并告诉我将其放在 cs xaml 文件中的位置吗 Thanks This
  • ItemSource 中具有不同类型数据的 ListView 多行列标题

    继续this https stackoverflow com q 26712051 1997232问题 我想实现这种ListView 它应该有两件事 多行列标题 不同的数据类型通过绑定ItemsSource以不同方式显示 为了解决 1 我尝
  • ASP.NET Core 3.1 | ASP.NET Core 3.1在控制器操作方法中,参数模型始终为空且具有大格式数据

    当我在 ASP NET Core 3 1 中开发 Web 应用程序时 我使用 ajax 将大型表单数据传递到我的控制器中 但它始终为 null 如果我减少数据量 那么它可以正常工作 但是对于大量数据 它始终为空 下面的链接已经尝试过 增加A
  • 将 X509Certificate2 证书转换为 BouncyCastle X509Certificate

    我有一个 System Security Cryptography X509Certificates X509Certificate2 对象 我需要将其转换为 Org BouncyCastle X509 X509Certificate 的对
  • 通过引用传递c++

    我的 C 老师告诉我 只有当我不打算更改函数内数组上的任何内容时 才应使用引用调用 我在程序中传递了一些非常大的向量 所有向量都将在函数内修改 我的矩阵的大小约为 256 256 256 50 是否有一些特殊原因不在这里使用调用引用 AFA
  • 窗口关闭后仍在调用方法

    首先我不知道这是不是一个愚蠢的问题 我有这样的场景 首先我有一个主窗口 public MainWindow InitializeComponent dt is a System Windows Threading DispatcherTim
  • C#:将 Dictionary<> 转换为 NameValueCollection

    我怎样才能转换Dictionary
  • 动态创建类型的实例

    假设我有这个代码 object abc abc typeof myclass 所以 我想做这样的事情 var newobject GetTheValueTypeAndCreateTheInstance abc newobject 是 myc

随机推荐