내 이런 황당한 경우는 처음이네요.. fgets 관련
글쓴이: neohwang / 작성시간: 화, 2006/05/09 - 10:09오전
#include
#include
int main(int argc, char *argv[])
{
char id[100];
printf("ID : ");
fgets(id,sizeof(id),stdin);
printf("\n----------\n%d :%s\n",strlen(id),id);
return 0;
}
위 코드를 HPUX 11.11 시스템에서 gcc가 아닌 cc로 컴파일 하여 실행한후
@@@@@@ 이런 골뱅이를 입력하면,, 입력이 안되네요...
내가 뭘 잘못 알고 있는지는 모르지만.. 대단히 황당하네요..
gcc로 컴파일 하면 잘 되는데... 내 미쵸..
# cc -o ttt ttt.c
# ./ttt
ID : @@@@@@@@@2
----------
1 :2
Forums:
버퍼는 일단 초기화후에 사용하세요
그리고 fgets(..,sizeof(id) -2,..); // newline + '\x0' 을 위해
그래도 마찬가지네요.. TT
HP 시스템 있으신 분들 한 번 해보세요.. 정말 어처구니 없어요..
골뱅이(@)를 입력받을 방법이 없습니다.
(역슬래쉬 하는 방법 말고는...)
제 기억으로는 오래
제 기억으로는 오래 전의 유닉스에서 @를 erase 문자로 사용했습니다. 사용하시는 시스템의 터미널 설정을 확인해보시기 바랍니다.
잘 되는데요? HP-UX
잘 되는데요?
HP-UX 11.23에서 해봤습니다.
저도 그런데요..
프로프트에서 bash 쉘 다시 실행시키세요
bash-3.1$ bash
fread로 읽어요
꼭 써야되는거 아니면, fread로 하시면 잘될듯.
댓글 달기