char * stft (const char *fmt, ...) {
va_list items;
char *out;
int magic = 0; // <-- here magic?
va_start (items, fmt);
vsprintf (out, fmt, items);
va_end (items);
return out;
}
사용 :이상한 행동 같은
char *str = stft ("%s-%s %s", a, b, c);
이 작동하고 해결책? 미사용 "마법"변수를 삭제하는 경우 - 반환 문자열 뒤에 분할 오류가 발생했습니다. 무엇이 잘못 되었나요?
$ gcc를 --version GCC (데비안 4.4.5-8) 4.4.5
$ 끝나면 uname -a 리눅스 깊은 역 (스퀴즈) 2.6.32-5-686 # 1 SMP (금) 월 10 08:33:48 UTC 2013 i686 GNU/Linux
질문과 관련이 없지만 '출력'을 초기화 할 항목이 없어야합니까? – guest
@guest : 질문과 관련이 없습니다. 문제는 'out'이 초기화되지 않아 충돌이 발생한다는 것입니다. –
좋은 sleuthing. thanks – guest