Ще се опитам да обясня проблема си. Ако изпълня следната команда
find ~ -name file.txt
в Linux всички файлове с име file.txt
ще бъдат показани на екрана на конзолата. Искам да направя програма на C, която да прави същото, като използва функцията execlp
, за да намери всички файлове, които имат определено име като file.txt
.
Ако направя нещо подобно:
execlp("find","find","-name","file.txt",NULL);
той се компилира добре, но при изпълнение показва само файла с името file.txt
, който се намира в текущата работна директория. Ако направя нещо подобно в моята програма:
execlp("find","find","~","-name","file.txt");
компилира се добре, но при изпълнение ми дава следната грешка:
find: `~': No such file or directory.
Какви параметри трябва да дам на функцията execlp
за търсене на file.txt
във всички налични директории? Трябва да направя това с функцията execlp
. Благодаря ти много!
~
от cmd-реда, но не и вexeclp
извикването. Използвайте пълен път или посочете елемент от директория, който действително съществува (.
идва на ум). - person WhozCraig   schedule 21.10.2013