【问题标题】:How to initialize char array with numerical symbols from int values?如何使用 int 值中的数字符号初始化 char 数组?
【发布时间】:2014-01-06 09:28:59
【问题描述】:

我想加载一些声音,加载功能想要

const char*

作为论据。所以我这样做了

const char name1[]="audio/audioname_1.wav";
LoadAudio(name1);

并将其作为参数传递。但是有

const char name2[]="audio/audioname_2.wav";
const char name3[]="audio/audioname_3.wav";

...

所以我想要类似的东西:

for (int i=1; i<10; i++) LoadAudio("audio/audioname_"+i.ToChar()+".wav");

或者我不知道,这里只需要最少的代码行数)

【问题讨论】:

  • 因为这是 C++,所以使用 std::string。它使连接更容易
  • 但那些是字符串,我想要字符。我不太了解这些东西,请有人举个简单的例子。
  • 阅读更多关于 std::string 的信息,有多种方法可以从 std::string 获取 const char*。除了使用to_string 进行连接外,您还可以使用std::istringstream 来格式化字符串。您应该了解C++ standard library,它包含什么以及它可以做什么。作为一名 C++ 程序员,它将极大地帮助你。
  • 您希望我们只为您编写代码而不需要您付出任何努力吗?

标签: c++ char arguments int


【解决方案1】:

建议您学习 std::string 的人是对的。但如果你想要一个“现在”的答案,试试这个

char soundName[MAX_NAME_SIZE] = {};

for (unsigned int i = 0; i < SOUND_FILES; i++)
{
    sprintf   (soundName, "audio/audioname_%d.wav", i);
    LoadAudio (soundName);
}

其中 SOUND_FILES 常量是您拥有的声音文件的数量,MAX_NAME_SIZE 常量是文件名中字符数的最大值。

【讨论】:

    猜你喜欢
    • 2016-06-27
    • 2012-07-27
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多