können Sie den Befehl excecl
int execl(const char *path, const char *arg, ...);
Wie hier verwenden
#include <stdio.h>
#include <unistd.h>
#include <dirent.h>
int main (void) {
return execl ("/bin/pwd", "pwd", NULL);
}
gezeigt wird Das zweite Argument der Name des Verfahrens, wie es in der Prozesstabelle angezeigt.
Alternativ können Sie die getcwd() Funktion verwenden, um die aktuelle Arbeitsverzeichnis zu erhalten:
#include <stdio.h>
#include <unistd.h>
#include <dirent.h>
#define MAX 255
int main (void) {
char wd[MAX];
wd[MAX-1] = '\0';
if(getcwd(wd, MAX-1) == NULL) {
printf ("Can not get current working directory\n");
}
else {
printf("%s\n", wd);
}
return 0;
}
Mann getcwd Lage zu finden. Das ist alles was du brauchst. –
Charlie Burns, die virtuelle Maschine, die mir zur Verfügung gestellt wurde, hat keinen Eintrag für getcwd. Trotzdem danke. – user2851770
http://theunixshell.blogspot.com/2013/01/executing-shell-command-in-cc-and.html – Vijay