gpt4 book ai didi

c - 在 Shell 命令中传递 C 变量

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:30 25 4
gpt4 key购买 nike

我遇到了一个问题。我想在 shell 命令 (dd) 中使用 C 变量。

假设 abc.c 是我的 C 程序。

int main()
{
int block = 1313; /*any integer */
system("dd if=device of=output-file bs=4096 count=1 skip=$((block))");
return 0;
}

现在,如果我在 dd 命令中使用 1313 代替 block,那么它可以正常工作。但是,当我编写 block 时,它会在输出文件中写入零,因为 block 是一个 C 程序变量,并在 shell 命令中使用。

最佳答案

使用snprintf() .

char buf[256];
const int block = 1313;
snprintf(buf, sizeof buf,
"dd if=device of=output-file bs=4096 count=1 skip=%d", block);
system(buf);

关于c - 在 Shell 命令中传递 C 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17362554/

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