리눅스 shell 프로그램인데 질문있습니다!
풍란
질문 제목 :리눅스 shell 프로그램 코드 질문입니다.파일포인터 문제인지 함수 호출이 되지 않습니다.
질문 내용 :
.......
.....
.....
else if(pid == 0)
{
if(mycheck == true) // my명령어 확인하고 실행하는 부분, help 옵션도 포함
{
if(strcmp(commandset[0], mypwd) == 0)
{
if(strcmp(commandset[1], --help) == 0) //--help와 비교했을 때 일치하면 help_func 함수로 이동
{
if(help_func(nochpath, mypwd.txt) != 0)
printf(help error\n);
break;
}
else //일치 하지 않았을 때 else 문으로 들어가지 않음
{ //--help를 비교하는 조건문을 지웠을 때 정상 작동
puts(123); // 조건문이 있을 땐 else문 정상작동 하지 않습니다.
mypwd();
break;
}
}
.....
....
...
int help_func(char *path, char *help_file) // help 옵션 구현을 위한 함수
{
file *fp;
char c;
strcat(path, /);
strcat(path, help_file);
fp = fopen(path, r);]
puts(aaa);
fseek(fp, 0, seek_set);
puts(help_func);
while(1) // 함수 호출시 aaa는 출력하지만 help_func는 출력하지 않습니다.
{
if((c = fgetc(fp)) == eof)
break;
else
fputc(c, stdout);
}
fflush(fp);
fclose(fp);
return 0;
}질문 내용은 코드에 다 적어 놓았습니다.
-
핫자두
또한 help_func는 다른 곳에서는 정상 작동합니다 ㅠㅠ