#include<stdio.h>
int main(){
unsigned char array[]={0xff,0xd8,0xff,0xe0};
char names[7];
int count=1;
sprintf(names,"%03d.jpg",count);
for(int i=0;i<4;i++){
printf("%#x ",array[i]);
}
printf("\n");
return 0;
}
字符数组受 sprintf 的返回值影响,此处为 7。我使用 gdb 找到了这个错误。
如何摆脱这个问题以及
知道 sprintf 行执行后发生了什么。###
output should be : 0xff 0xd8 0xff 0xe0
but Output I got is : 0 0xd8 0xff 0xe0