如何在字符串中插入整数
How to insert an integer inside a string?
如何将整数i
插入字符串?我试过这个,但它不起作用:
for (int i = 0; i < maxFrameBoss1; i++) {
boss1Image[i] = al_load_bitmap("boss1//frame_0" + i + "_delay-0.03s.png");
}
您需要
先将i
转换为字符串。然后连接字符串。最后(显然(为您的al_load_bitmap
获取指向字符的指针:
for (int i = 0; i < maxFrameBoss1; i++) {
std::string filename = "boss1//frame_0" + std::to_string(i) + "_delay-0.03s.png";
boss1Image[i] = al_load_bitmap(filename.c_str());
}
如何将"i"变量插入字符串。
有一个标准的库函数可以将int
转换为std::string
。请参阅 http://en.cppreference.com/w/cpp/string/basic_string/to_string。
用
std::string filename = std::string("boss1//frame_0") + std::to_string(i) + "_delay-0.03s.png";
boss1Image[i] = al_load_bitmap(filename);
如果al_load_bitmap
不能使用std::string
,请使用:
std::string filename = std::string("boss1//frame_0") + std::to_string(i) + "_delay-0.03s.png";
boss1Image[i] = al_load_bitmap(filename.c_str());
从任意输入类型构造字符串的简单方法是使用如下std::ostringstream
:
for (int i = 0; i < maxFrameBoss1; i++) {
std::ostringstream bitmap_filename_builder;
bitmap_filename_builder << "boss1//frame_0" << i << "_delay-0.03s.png";
boss1Image[i] = al_load_bitmap(bitmap_filename_builder.str().c_str());
}
使用它时,请注意 std::ostrinsgstream::str()
函数返回的临时创建的 std::string
变量的生存期。c_str()
函数的结果在执行该语句后可能会变成悬空指针。请确保调用的函数获取该 c 样式字符串参数的副本,或者只是以强顺序方式使用它,并且不会将该指针作为状态存储在其他位置。
最简单的解决方案是只使用 std::to_string(i)
,但这可能会导致额外的分配,因为std::string
无法知道中间+
操作中的最终大小。
相反,您可能希望使用absl::StrCat
或其他变体:
for (int i = 0; i < maxFrameBoss1; i++) {
std::string filename = absl::StrCat("boss1//frame_0", i, "_delay-0.03s.png");
boss1Image[i] = al_load_bitmap(filename.c_str());
}
这是一个相对较小的性能点,但解决方案很容易,值得一提。
相关文章:
- 在数字之间插入 + 或 - 符号以使其等于整数
- 如何将整数向量值插入字符向量
- 如果索引不是整数,我们如何在 C++ 中插入哈希表
- 如何将整数向量插入到键中,标准::映射的值
- 在控制台上输出我从文件中读取的整数,将程序插入无限循环
- 无法使用push_back将整数插入1D/2D向量
- 如何将带有前导零的整数插入到 std::string 中
- 如何在字符串中插入整数
- 将整数从文本文件插入到整数数组
- 从文件中读取,将值插入到整数和字符C++
- 如何将唯一的随机整数插入链表中
- C++ - 从整数数组中插入和提取字符
- STD上的SEG故障::设置整数插入
- C++插入到地图<双精度、多地图<整数、对象*>>
- 如果没有重复,则可以有效地将整数插入到不断增长的数组中
- 无法将整数插入多维向量
- 将整数按升序插入链表
- 在char数组中插入整数
- 在数组中插入整数
- 在字符数组中插入整数以在重命名函数中使用它