将 int 转换为字符串数组
Converting an int into string array
我希望将 int 1-9 的 for 循环转换为字符串数组,环顾四周后,我找到了一些将 int 转换为字符串的代码,但是当我尝试将其放入 for 循环并制作字符串数组时,我遇到了错误。
当我尝试这个时,我得到了断言失败
#include<iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
string str[9];
for (int a = 1; a <= 9; a++) {
stringstream ss;
ss << a;
str [a] = ss.str();
cout << str[a];
}
return 0;
}
当我尝试这个时,程序不断崩溃
#include<iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
ostringstream str1 [9];
for (int num = 1; num <= 9; num++) {
str1[num]<< num;
string geek = str1[num].str();
cout << geek << endl;
}
return 0;
}
任何帮助将不胜感激。
c++ 使用基于 0 的索引。这意味着string str[9]
支持索引0->8
而不是1->9
。在此循环中:
for (int num = 1; num <= 9; num++) {
您正在尝试从 1->9
编制索引。您应该将其更改为:
for (int num = 0; num < 9; num++) {
遍历整个数组。或者更好的是使用:
std::vector<std::string> str(9); // For dynamic storage duration
std::array<std::string, 9> str; // For automatic storage duration
int num = 1;
for (auto& currentString : str) {
currentStr << num++
}
我认为这是
崩溃的原因:
for (int num = 1; num <= 9; num++)
只需将运算符更改为"<9"而不是"<=9":
for (int num = 1; num < 9; num++)
相关文章:
- 将C#字符串数组传递给C++
- 如何为 C 型字符串数组编写 getter 和 setter?
- 有没有办法使用 strcpy 将字符串数组复制到另一个字符串或其他数组中?
- 尝试将 c 字符串数组与分隔符连接起来
- 将字符串数组传递给接受常量字符**的函数
- 返回 C++ 中的字符串数组
- 如何从COM模块中的函数返回字符串数组?
- 无法将字符串数组声明为类成员而不是字符 (C++)
- 删除字符串数组
- 如何将字符串数组返回到 java JNI
- 将字符串数组作为函数参数传递
- C++将字符串数组的元素存储到变量中
- 循环访问还包含未使用元素的字符串数组
- 字符串数组上的 sizeof 运算符以 C++ 为单位给出不同的输出
- 乘以字符串/数组和全局数组
- 递归二进制搜索与字符串数组
- 如何初始化一个标准::字符串数组?
- 无法在声明时使用初始值设定项列表初始化常量字符*/字符串数组的向量
- C++字符串数组的动态向量
- 给定一个等长字符串数组