bash 셸에서 단어 수에 대한 자체 코드를 작성하려고합니다.
나는 평소대로했다. 하지만 나는 파이프의 출력을 사용하여 단어를 세고 싶습니다.
예를 들어 첫 번째 명령은 cat이고 med라는 파일로 리디렉션하고 있습니다.
이제 'dup2'함수를 사용하여 해당 파일의 단어를 계산해야합니다. 내 wc 코드를 어떻게 작성합니까? 단어 수 bash 셸을 구현하는 방법
이
내 쉘 PGM 코드입니다 :void process(char* cmd[], int arg_count)
{
pid_t pid;
pid = fork();
char path[81];
getcwd(path,81);
strcat(path,"/");
strcat(path,cmd[0]);
if(pid < 0)
{
cout << "Fork Failed" << endl;
exit(-1);
}
else if(pid == 0)
{
int fd;
fd =open("med", O_RDONLY);
dup2(fd ,0);
execvp(path, cmd);
}
else
{
wait(NULL);
}
}
그리고 내 단어 수는 : 나는 내 코드는이 작업을 수행 할 수 입력 리디렉션 을 수행하는 방법을 잘 모릅니다
int main(int argc, char *argv[])
{
char ch;
int count = 0;
ifstream infile(argv[1]);
while(!infile.eof())
{
infile.get(ch);
if(ch == ' ')
{
count++;
}
}
return 0;
}
: 필자가 셸 구현에 wordcount를 입력하면 기본적으로 med 파일의 단어 수를 계산하려고합니다. 미리 감사드립니다.
숙제 일 수도 있습니다. '숙제'태그를 추가하는 것을 고려하십시오. –