[c++]sscanf 함수를 새로 구현하려는데 이상하네요
글쓴이: lh8557 / 작성시간: 화, 2004/05/04 - 10:45오전
분명 헤드파일 선언 않하고 함수호출이름도 바껏는데
컴파일에서 인식하는건 왜그럴까요??
#include <iostream.h> #include <string.h> class date { int day, month, year; public: date(char *d); date(int m, int d, int y); void show_date(); }; void sscanf(char *, char *, ...);// 여기부분 date::date(char *d) // 여기부분하고 { sscanf(d, "%d%*c%d%*c%d", &month, &day, &year); } date::date(int m, int d, int y) { day = d; month = m; year = y; } void date::show_date() { cout << month << "/" << day; cout << "/" << year<< "\n"; } main() { date ob1(12, 4, 96), ob2("10/22/97"); ob1.show_date(); ob2.show_date(); return 0; } void sscanf(char *, char *, ...) // 이부분하고 { }
결과값은 ob1은 제대로 나오고 ob2는 값이 이상하게나오네요
이해를 못하겠어요 어떻게 값이 나오는건지..
Forums:
[code:1]date::date(char *d&#
sscanf 함수에서 아무것도 하지 않으니 month 와 day, year에는 쓰레기 값이
들어있는 것이 당연하구요,
ob1은 sscanf 를 쓰지 않고 초기화했으므로 매개변수로 넘긴 값이 잘~~~ 할당되어있습니다.
댓글 달기