|  |
| |
| $Zero |
scanf 는 주로 변수에 값을 입력받을때 사용하고 .. getchar은 표준 입력으로부터 아무 값이나 한개 읽어올때 사용됩니다.
scanf는 %s 같은 서식문자로 문자열을 읽어올 수도 있지만 getchar은 무조건 1개의 데이타만 읽어옵니다.
만약 .
char ch;
scanf("%c" , &ch);
getchar(ch);
가 있다면 둘다 같은효과의 문장이 됩니다. |
2011/03/16 |
|
| $Zero |
전 getchar() 함수는 대부분 자동 pause가 되지 않는 컴파일러로 컴파일할때 정지용도로 사용합니다. .
리턴 전에 한번 호출해주면 입력대기상태로 프로그램이 블럭상태로 넘어가거든요 .. dev같은 컴파일러를 사용할때 자주 애용합니다. |
2011/03/16 |
|
| dokokou |
getchar는 버퍼에서 가장 앞에 대기하고 있는 하나를 가져오는 거라고 배웠습니다.
저는 보통
scanf("%c", &a);
scanf("%c", &b);
하면 a는 입력이 되는데 b는 자동적으로 넘어가 버리는 경우가 있는데 그럴때
scanf("%c", &a);
getchar();
scanf("%c", &b);
해줘서 푸는 용도로 쓰고 있습니다. |
2011/03/16 |
|
| $Zero |
dokokou // 그 다음 scanf문이 엔터의 리턴값을 읽어버려서 넘어가는 경우네요 ㅎㅎ;
getchar(); 보단 fflush(stdin) 이 좀더 가독성이 좋지 않을까 싶네요 |
2011/03/16 |
|
별빛을담아 |
www.winapi.co.kr
여기가면 각 함수의 역할을 다 알려줍니다. |
2011/03/16 |
|
| malkhankr |
getchar는 원래 용도로는 많이 사용하진 않는군요~ㅎㅎ
감사합니다~~ㅎㅎ |
2011/03/16 |
|
| malkhankr |
추가로 궁금한거 하나 더 여쭤볼게요~
API와 SDK의 차이는 뭔가요?
API는 Application Program Interface고
SDK는 Software Development Kit건 알겠는데 무엇이 다른지 궁금합니다~ |
2011/03/16 |
|
별빛을담아 |
SDK는 정리하자면 소프트웨어 개발키트 즉, 프로그래밍을 할 수 있게 도와주는 도구들을 말하구요.
API는 정말 간단히 말하자면 일반적인 검은 화면에서 굴러가는 프로그램이 아닌
윈도우처럼 창을 가지고 있는 프로그램을 말한다고 보시면 되요 |
2011/03/17 |
|
| $Zero |
getchar 가 유용하게 쓰이는 상황은 어거지로 뽑아보자면 .. 메모리 부족일때 정도되겠네요 ..
예를들어
버퍼에 데이터를 입력하고 출력하는 프로그램을 작성할때
char buf[100];
scanf("%s" , buf); 같은 형태가 나오겠죠 ?
위 예제는 버퍼의 용량이 100byte이므로 100byte조차 사용할 수 없는 곳에선 사용이 불가능해지죠 .
반면에
char ch;
while(1)
{
ch = getchar();
printf("%c" , ch);
}
같이 쓰면 메모리를 1바이트만 사용하고도 동일한 효과를 낼 수 있습니다.
하지만 , 메모리 부족현상이 쉽게 접할 수 있는게 아닌데다가 .. 요새 메모리 부족현상이 일어날지도 의문이라 . .쓰일일은 없겠죠 .. 메모리 확보보단 성능이 더 중요시 되니까요 . |
2011/03/17 |
|
| dawon15 |
별빛 님 께서 설명해주신 API는 win32API구요
원래 API는 아시는대로 Application Programming Interface의 약자로
간단히 말하자면 함수들의 집합입니다…
윈도우즈 API라고 하면 윈도우즈에서 사용되는 함수들의 집합이죠… |
2011/03/18 |
|