-2
好吧,我已經搜索了一個小時或更長時間,但仍然沒有解決我的問題。如何在system()中執行多個命令,同樣使用變量
我有這3的bash命令:
find . -name "file_name" -exec du -h {} \;
- >給我的文件的大小ls -l --time-style='+%d/%m/%Y' "file_name" | awk '{print $6}'
- >最後modiffied日期ls -l "file_name"|cut -d" " -f1
- >文件的權限
我想要一次執行這3個命令使用system();
Output example :
文件大小:...
最後modiffied日期:...
文件權限:...
我嘗試:
char command[256];
char file_name[]={"myfile.txt"};
sprintf(command,"find . -name %s -exec du -h {} \; &&
ls -l --time-style='+%D/%m/%Y' %s | awk '{print $6}' &&
ls -l %s | cut -d' ' -f1",
file_name,file_name,file_name);
system((char*)command);
NOTES :我不必擔心文件路徑,因爲我使用的是我執行的同一個目錄中的文件我的C程序。
編譯錯誤:「噓:& &預計不會」
這不回答你的問題,但可能你只需要使用'STAT()'反而是API? – keithmo
如果要在格式字符串中包含文字'%',則需要使用其中的兩個'%%'。可能'%D /%m /%Y'正在引起你某種問題。如果你確切地指出了什麼是錯誤的,回答你的問題會容易得多。 – rici
而且,是的,你應該使用'stat()'作爲@keithmo的建議,而不是你用system()建立的Rube Goldberg – rici