本文主要是介绍Android/Linux大于1024Bytes打印(八十九),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Android/Linux大于1024Bytes打印
1.Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
#LOCAL_MULTILIB := 32
LOCAL_SRC_FILES := print-log.cpp
LOCAL_MODULE := print-log
LOCAL_MODULE_TAGS := optinal
LOCAL_SHARED_LIBRARIES := liblog libutils
include $(BUILD_EXECUTABLE)2.print-log.cpp
#include <log/log.h>
#include <iostream>
#include <string>#undef NDEBUG
#undef LOG_TAG
#define LOG_TAG "print_log"
#define LOG_MAX 1024static void print_str(std::string buffer, char *func, int line){int len = buffer.length();int start = 0;int end = LOG_MAX;ALOGE("xxx---starting------->%s(), line = %d, len = %d",func,line,len); for(int i = 0; i < 100; i++){if(len > end){//linux log//cout << buffer.substr(start, LOG_MAX) << endl;//android logALOGE("%s(): data[%d] = %s",__FUNCTION__,i,buffer.substr(start, LOG_MAX).c_str());start = end;end = end + LOG_MAX;}else{//linux log//cout <<buffer.substr(start,len - start )<<endl;//android logALOGE("%s(): data[%d] = %s",__FUNCTION__,i,buffer.substr(start,len - start).c_str());break;}}ALOGE("xxx---end------->%s(), line = %d, len = %d",func,line,len);
}
int main(){char *parameters = "12345611111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444412345611111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444412345611111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444412345611111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444412345611111111111111111111111111111111111111";//const char * ----> string:两种方式//1.std::string buffer(parameters);//2.//buffer = parameters; print_str(buffer,"main",__LINE__);ALOGE("xxx---------->%s(), line = %d",__FUNCTION__,__LINE__); return 0;
}
这篇关于Android/Linux大于1024Bytes打印(八十九)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!