gpt4 book ai didi

c - sprintf 到 c 中的 char 指针列表?段错误

转载 作者:行者123 更新时间:2023-11-30 15:57:49 25 4
gpt4 key购买 nike

我有这个有效的代码(它有点精简):

char *parmList[6];

parmList[0] ="/root/ssl_send";
parmList[1] ="-m 1";
...etc...
parmList[5] = NULL;
execvp(parmList[0], parmList);

现在我想用 sprintf 向这个列表中的一个字符串写入一些内容(更正确的说法是我希望 *parmList[6] 的一个指针指向用 sprintf 构造的 char 数组)。我一直收到“段错误”。我尝试过:

  • 使用malloc,
  • 声明一个 double 组,以便保留内存空间,
  • 使用 snprintf,....

我显然做错了什么。问题类似于Sprintf Segmentation Fault ,只是我需要有一个 execvp 的指针/char_arrays 列表。

最佳答案

以下代码使用 sprintf 创建字符串并在参数列表中使用该字符串。确保为 sprintf 输出分配足够的空间。

char *parmList[6];
parmList[0] = "/bin/ls";
char arg1[10];
sprintf(arg1, "%s", "-l");
parmList[1] = arg1;
parmList[2] = NULL;
execvp(parmList[0], parmList);

关于c - sprintf 到 c 中的 char 指针列表?段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10223539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com