Распечатка текущего рабочего каталога

Ниже у меня есть токенизатор, который я пытаюсь превратить в программу оболочки. Я только начинаю, поэтому я знаю, что программа не настроена на выполнение каких-либо команд оболочки, но у меня возникают проблемы с простое удаление текущего рабочего каталога. Я покажу свой код ниже:

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
int main()
{
pid_t pid;
char cwd[1000];
if (getcwd, sizeof(cwd) != NULL)
{
 fprintf(stdout, "Current working dir: %s\n");
 return 0;
}
printf("Please enter a string\n");
int ch = fgetc(stdin);
while (ch != EOF)
{
 pid = fork();
 if (pid == 0)
 {
 printf("Child Working");

 }
 else
 printf("Child not working");
while (isspace(ch))
{

 // If only 1 line of input allowed, then add
 if (ch == '\n') return 0;;

 ch = fgetc(stdin);
}
if (ch != EOF)
 {
 do
 {
 fputc(ch, stdout);
 ch = fgetc(stdin);
 }
 while (ch != EOF && !isspace(ch));
 fputc('\n', stdout);
 }
 }
 return 0;
}
</errno.h></unistd.h></stdlib.h></stdio.h></ctype.h>

Выход, который я получаю до сих пор, показан ниже:

1 ответ

изменение

if (getcwd, sizeof(cwd) != NULL)

чтобы:

if (getcwd(cwd, sizeof(cwd)) != NULL)

а также

fprintf(stdout, "Current working dir: %s\n");

чтобы:

printf("Current working dir: %s\n", cwd);

licensed under cc by-sa 3.0 with attribution.