我当前正在尝试从多个目录读取,但是当我使用%s设置路径时(已保存所有文件位置的数组),它将不会读取。
SDL_Surface* image = SDL_LoadBMP("D:\\UltimateModManager\\mods\\%s\\.umm\\icon.bmp", currentmod[i - 1]);
它可以在控制台上很好地打印位置,但不会读取我的图像。但是,如果我设置了一条真实的道路,那确实很奇怪。
您似乎误以为字符串中的%s
具有某些特殊属性。没有。 %
字符只是文字%
。您以似乎想要的方式使用它的上下文将其传递给printf
,在这里*仍只是字符串中的文字%
,但字符串是一个[[format string C0]进行解释以了解期望的参数类型以及如何格式化它们,而不是要自己打印的字符串。
printf
然后将snprintf(buf, sizeof buf, "D:\\UltimateModManager\\mods\\%s\\.umm\\icon.bmp", currentmod[i - 1]);
作为参数传递给buf
。