[英]What format specifier should I use here?
在此處獲得此代碼以打印出已打開文件的名稱(如果您想知道,它的高度為 map)並且每次我嘗試打印時都會收到格式警告,我應該使用哪種格式說明符?
unsigned char* data = stbi_load("textures/height.png", &width, &height, &nr_components, 0);
printf("Loaded file: %u\n", data);
如果您的目標是打印加載數據的地址,那將是%p
:
printf("Loaded file: %p\n", (void*)data);
如果你想逐字節打印實際數據,你應該遍歷字節並使用%hhu
(十進制)或%hhx
(十六進制):
printf("Loaded file:\n");
for(int i = 0; i < width*height*nr_components; ++i)
printf("%hhx ", data[i]);
printf("\n");
data
不包含文件的名稱,所以如果您只想打印名稱,則打印您傳遞給stbi_load
的相同字符串:
const char *filename = "textures/height.png";
unsigned char* data = stbi_load(filename, &width, &height, &nr_components, 0);
printf("Loaded file: %s\n", filename);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.