У меня проблема. Я хочу использовать переменную C в команде оболочки (dd
).Передача переменной C в команде Shell
Предположим, что 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;
}
Теперь, если я использую 1313 вместо block
в команде dd
, то он работает отлично. Но когда я пишу block
, тогда он записывает нули в выходной файл, так как block
является программной переменной C и используется в команде оболочки.
Используйте 'snprintf'. –
У вас нет этого, у вас есть. И вы не знаете разницы между PHP и C, не так ли. –