【发布时间】:2016-11-14 00:46:09
【问题描述】:
我在尝试让用户输入数字字符串矩阵并尝试将它们转换为整数以便我可以对矩阵执行数字运算时遇到了麻烦。我的代码如下。
int matrix1[10][10];
string first_matrix;
cout << "Enter first matrix:\n";
while (first_matrix != " ")
getline(cin, first_matrix);
for(int i = 0; i < strlen(first_matrix); i++)
if(first_matrix[i] == "")
break;
else(first_matrix[i] == " "){
n = n + 2;
if (first_matrix[i] == "\n"){
m++;
}
first_matrix[i] = matrix1[i] - '0';
}
return 0;
我知道为 getline 编写一个 while 循环(类似于while(line!="")
getline(cin, line);)可以将多行作为输入读取。但我的问题是如何提取这些字符串行并将它们放入具有整数形式的新数组中?此外,我应该使用 stoi,而不是使用 first_matrix[i] = matrix1[i] - '0';,但我对如何在创建新的数字数组时也使用 stoi 有点困惑。 (我知道它将字符串转换为整数,但我如何实际使用它来做到这一点?)
【问题讨论】:
-
使用
std::istringstream做你想做的事。 -
en.cppreference.com/w/cpp/string/basic_string/stol 有
stoi()的基本使用示例。
标签: c++ string matrix matrix-multiplication c-strings