我哈瓦C函數這樣的..打印出一個指針高達所需要的長度僅
func(uint8_t *key,uint8_t keylen) {
FILE *fk;
fk=fopen("akey","wb");
fwrite((char *)key,keylen,1,fk);
puts((char *)key); // for testing
fclose(fk);
sprintf(sstring,"... \"%s\" ... ",(char *)key);
// ...other irrelevant stuff for here
system(sstring);
}
我想作爲輸入提供的密鑰可以在 地方標記\"%s\"
在sprintf
命令中使用
輸入:
輸出:
$cat akey
qwerty
和puts((char *)key)
輸出 -
qwerty�
// include newline character as well
建議我在此,我想用這個(在代碼中的各自位置) 但得到segmentation fault
char *p;
memcpy(p,(char *)key,keylen);
puts((char *)p);
驚人的一個....甚至不聽到這個消息之前,感謝了很多! –