gpt4 book ai didi

c - 当使用 %s 在我的路径中设置文本时,它找不到它

转载 作者:行者123 更新时间:2023-11-30 18:43:48 25 4
gpt4 key购买 nike

我当前正在尝试从多个目录中读取数据,但是当我使用 %s 设置路径(具有所有文件位置的已保存数组)时,它将无法读取。

SDL_Surface* image = SDL_LoadBMP("D:\\UltimateModManager\\mods\\%s\\.umm\\icon.bmp", currentmod[i - 1]);

它将位置很好地打印到控制台上,但它不会读取我的图像。但如果我设置了一条真实的路径,它的表现就会很奇怪。

最佳答案

您似乎误解了字符串中的 %s 具有某些特殊属性。事实并非如此。 % 字符只是一个文字 %。您按照您想要的方式使用它的上下文是将其传递给 printf,其中 *仍然只是字符串中的文字 %,但是字符串是一个格式字符串printf解释它以了解期望的参数类型以及如何格式化它们,而不是要打印的字符串本身。

要在这里实现您想要的效果,您需要使用额外的缓冲区数组来构造字符串,并使用类似以下内容的内容:

snprintf(buf, sizeof buf,
"D:\\UltimateModManager\\mods\\%s\\.umm\\icon.bmp",
currentmod[i - 1]);

然后将 buf 作为参数传递给 SDL_LoadBMP

关于c - 当使用 %s 在我的路径中设置文本时,它找不到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60106564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com