如何从指针byte_length
开始将address
个字节打印到日志文件中。
我尝试了这个,但它没有用,因为取消引用指针不是字符串文字。
FILE * userlog;
void debug_message(int flag, void *address, int byte_length){
for (i=0; i<byte_length; i++){
fprintf(userlog, *((char*)address+i)));
}
我也尝试了这个,但它不会编译:
FILE * userlog;
void debug_message(int flag, void *address, int byte_length){
for (i=0; i<byte_length; i++){
char character[1];
character[0]= *((char*)address+i));
fprintf(userlog, character);
}
答案 0 :(得分:1)
fprintf
第二个参数是格式说明符,您可以在The Man
如果你真的想写一个字符/字节%c
FILE * userlog;
void debug_message(int flag, void *address, int byte_length){
for (i=0; i<byte_length; i++){
char character = *((char*)address+i));
fprintf(userlog, "%c", character);
}