Я не уверен, почему я получаю ошибку сегмента. Я знаю, что это где-то в моей функции pidspec, но я не уверен, почему это происходит. Целью этой программы является передача идентификатора процесса в качестве первого аргумента программе, после чего pid находится в папке proc, а содержимое этого файла отображается на консоли. Любая помощь будет принята с благодарностью. Я не писал С в течение года, поэтому я немного заржавел.
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <errno.h>
#include <string.h>
void pidspec(char *v){
DIR *myDirectory;
struct dirent *myFile;
char *proc = "/proc";
printf("Made it here");
myDirectory = opendir(proc);
if(myDirectory){
printf("Made it here");
if(strcmp(myFile->d_name, v) == 0){
myDirectory = opendir(v);
if(myDirectory){
while ((myFile = readdir(myDirectory)))
printf("%s\n", myFile->d_name);
}
}
}
return;
}
int main(int argc, char *argv[]){
printf("Made it here");
if(argc == 2){
printf("%s",argv[1]);
pidspec(argv[1]);
}
return 0;
}