2012-09-17 53 views
1

在Android中使用OpenSSL libcrypto。有些OpenSSL的功能输出内容FILE *,实际上很多C函数都在做这个,例如:Android C代码,将stdout重定向到logcat或字符串缓冲区

int X509_REQ_print_fp(FILE *bp,X509_REQ *req); 

在这种情况下,“BP”可以标准输出。我的问题是我怎样才能获得输出重定向到Android的logcat?或者更常见的方式,一个字符数组或字符串?

+0

[捕获的stdout/stderr的与NDK]的可能重复(http://stackoverflow.com/questions/9192749/capturing-stdout-stderr-with -ndk) –

+0

对不起我的近距离投票;那个特定的问题是一个不好的选择,而不是一个确切的重复。但还有其他非常类似的问题。 –

回答

0

包括android/log.h和定义宏如下:

#include <android/log.h> 
    #define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, "yourtag",__VA_ARGS__) 
+0

我无法对函数X509_REQ_print_fp()进行任何更改,但希望将其输出重定向到logcat而不是stdout或文件。我知道如何输出一个字符串到logcat。 – brewphone