0

我遇到了一个问题。我想在 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;
 }

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

4

1 回答 1

6

使用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);
于 2013-06-28T10:26:50.027 回答