0
代碼如下:printf(「%。6a」,0.1);在android adb shell可執行文件將得到錯誤的輸出「a」,這似乎不會明智地處理格式字符串「%.6a」。printf格式字符串「%a」在Android NDK上打印出錯誤信息
可執行文件的測試代碼與「hello world」演示類似。
main.c文件:
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("\n=--------------=\n");
printf("%.6a", 0.1);
return 0;
}
文件Android.mk:
include $(CLEAR_VARS)
LOCAL_MODULE := and_demo
LOCAL_CFLAGS += -std=c99
LOCAL_SRC_FILES := vec_add.c
include $(BUILD_EXECUTABLE)
NDK的版本是R9。我用-std = c99設置了支持Android.mk文件中的「%a」格式的字符串(不確定是否正確)。我運行它時只有一個字符'a'。
我該如何解決這段代碼,讓程序打印正確的字符串?
感謝您的及時重播。當我真的需要這個功能時,我能鏈接像glibc這樣的libc的完整版嗎? – user3205446