问题标签 [execvp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2148 浏览

c - 如何在 C 中执行 ls *.txt

我在执行 *.txt 通配符时遇到问题,并且阅读此线程 - C 中的 exec() 任何命令- 表明由于“通配符”问题,这很困难。有什么简单的方法可以解决这个问题吗?

这是我正在尝试做的事情:

0 投票
3 回答
5604 浏览

c - execvp 实际上做了什么?

可能重复:
编写 shell - 如何执行命令

我的任务是用 C 编写一个 shell。到目前为止,我知道 execvp 将尝试在 arg1 中以 arg2 作为参数运行程序。现在看来,这样做

不等于在控制台中输入这个

我意识到我需要使用 freopen 来获得相同的结果,但我很好奇 execvp 在做什么。

0 投票
1 回答
1150 浏览

c++ - 如何将目录中具有完整路径的所有文件传递给 execv 中的参数数组?

我正在尝试读取给定目录中的所有文件(图片)并将其传递给 execv。我想启动帧缓冲图像查看器 (fbi)。

现在,当我从图片所在的目录启动它时,它可以工作。我如何操作矢量,使其不仅包含文件名,还包含路径+文件名?

0 投票
2 回答
2745 浏览

c++ - c++解压返回无法创建解压目录

我编写了一段简单的代码,用于使用 unzip 提取 zip 文件。当未设置输出目录但返回错误是设置了目录时,它工作正常

“存档:/home/vishvesh.kumar/tempFolder/test.zip checkdir:无法创建提取目录:/home/vishvesh.kumar/tempFolder 没有这样的文件或目录”

代码:

0 投票
2 回答
844 浏览

c - execvp() 不接受用户输入

我有以下代码:

出于某种原因,每当我输入“ls -l”或“日期”之类的内容时,它都会告诉我没有这样的文件或目录。当我在代码中写道:

它工作得很好。有任何想法吗?

0 投票
3 回答
782 浏览

c - execvp(grep) 后失去控制

我正在尝试编写一个小程序来通过 execvp 运行 grep。这与我在这里遇到的问题基本相同,但在这种情况下,它仅在我运行 grep 时发生(与 echo、ls、emacs 等都工作正常相反)并且我更改了不正确的 wait() (我相信)。我也尝试在我想查找的文本上使用引号

我的代码:

搜索.txt:

输入/输出(# 在我输入的行前面,虽然不是输入的一部分):

0 投票
1 回答
446 浏览

c++ - 将非 char* 参数传递给 execvp

基本上,我想执行一个名为“worker”的程序,它有 6 个参数是整数......

我如何正确地将这些转换为类型 char* ?我已经尝试(char*)使用 stringstream 将它们存储在 char 数组中,但我仍然遇到编译器错误。

0 投票
1 回答
3003 浏览

c - 使用 execvp() 的问题

我这里有问题。这个问题似乎是一个解析错误,因为每当我尝试访问ls一个目录时,我都会得到ls: cannot access : No such file or directory. 奇怪的是,如果我去,ls ..我会得到:

注意:以上是上一级目录的内容!

此外 - 我怀疑这些问题是相关的 - 我不能cd进入目录,但是我不能 100% 确定这一点,因为它不会抛出任何类似目录不存在的东西;我只是得到一个空格(但我的 cwd 没有更新)。

任何帮助,将不胜感激!

供参考,一些测试输入

并且确认目录'test'确实存在:

0 投票
3 回答
621 浏览

c++ - 按分隔符拆分字符数组,然后保存结果?

我需要能够在我的程序中解析以下两个字符串:

字符串被保存在字符缓冲区 [1024] 中。我最终需要的是一个指向左侧的 char 数组的指针和一个指向右侧的 char 数组的指针,以便我可以使用它们为每一侧调用以下内容:

如果上面的两个字符串保存在字符缓冲区 char buffer[1024] 中,任何人都知道如何为 execvp 命令获取正确的参数;?

我需要 char *left 来保存左侧的第一个单词,然后 char *const leftArgv[] 来保存左侧的两个单词。然后我需要同样的东西来做正确的事情。我已经在 strtok 上玩了两个小时了,我正在碰壁。有人有想法么?

0 投票
3 回答
13628 浏览

c - 从用户的输入将数组传递给 execvp()

我正在尝试将用户输入的参数传递给execvp().

到目前为止,我已经拆分了字符串。如果用户键入ls -a,temp则保存为 "ls" 和 "-a" 后跟一个 NULL 字符。我不太确定如何在execvp. 在示例中,我已经看到它使用execvp(temp[position], temp). 我知道我现在尝试做的方式是错误的,但我不确定如何正确地做!目前我遇到了分段错误。