ç

2013-05-01 38 views
0

你好,我試圖這樣做是爲了做到這一點shell命令「室射頻測試」:ç

#include <stdio.h> 
#include <stdlib.h> 


char name[] = "test"; 
char buffer[64]; 
int main() 
{ 
     snprintf(buffer,sizeof(buffer),"rm -rf s% s%", name); 
     system(buffer); 
     return 0; 
} 

它將編譯和運行,但不會刪除該目錄

任何幫助將不勝感激!

+0

你有%s重複兩次 - 應該只是'「rm -rf%s」' – stormCloud 2013-05-01 22:46:41

+4

究竟是什麼?我相信你的意思是'%s'。 – Havenard 2013-05-01 22:46:43

+6

格式修飾符的格式爲%s,而不是s%。 – GRAYgoose124 2013-05-01 22:46:46

回答

1

不要使用system來運行外部進程,特別是如果您傳遞的命令行不是常量。它只會讓你的生活變得悲慘。請參閱man forkman exec以正確的方式執行此操作。

-1
#include <stdio.h> 
#include <stdlib.h> 

char name[] = "test"; 
char buffer[64]; 

int main() 
{ 
     snprintf(buffer,sizeof(buffer),"rm -rf %s", name); 
     system(buffer); 
     return 0; 
} 

它適合我。