1
원래 코드 :문자열을 포맷팅 함수로 전달 하시겠습니까? stderr로 출력
extern "C" {
/* error: output error message */
void Error(const int error, char *message, ...)
{
va_list arg;
fflush(stdout);
fflush(stderr);
if (error > 0)
fprintf(stderr, "\nError: ");
else
fprintf(stderr, "\nWarning: ");
va_start(arg, message);
vfprintf(stderr, message, arg);
va_end(arg);
fflush(stderr);
if (error > 0)
exit(error);
}
void main(){
Error(0,"Problem %s in file", "sometext");
}
}//extern "C"
는 그 같이 사용하려면 코드를 수정했습니다. 'Problem |�;A.|�;A. in file'
및 __android_log_print(ANDROID_LOG_WARN, "HTS_API","Problem %s in file", "sometext");
올바른 출력입니다 : 내가 잘못 뭐하는 거지 'Problem sometext in file'
이
extern "C" {
#include <android/log.h>
#include <jni.h>
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <math.h>
/* error: output error message */
void Error(const int error, char *message, ...)
{
va_list arg;
va_start(arg, message);
if (error > 0)
__android_log_print(ANDROID_LOG_ERROR, "HTS_API", message, arg);
else
__android_log_print(ANDROID_LOG_WARN, "HTS_API", message, arg);
va_end(arg);
if (error > 0)
exit(error);
}
void main(){
Error(0,"Problem %s in file", "sometext");
}
}//extern "C"
문제는 내 코드 출력이 있다는 것입니다 로그 캣을 인쇄해야?
말을
vsprintf
을 사용하여 그러나 그것을'error'라고 부르십시오. 또한 'int main'이되어야합니다. –오타 였고 주 기능이 무작위였습니다 – Paxmees
컴파일러 경고가 있었습니까? – Moss