我有下一个功能,我想打印一些用逗号分隔的参数,我的问题是控制台在#34; parametro [i] = linea [i]&#34时没有显示任何内容;在FOR迭代中。 例: 参数1:[]
void funcionSeparadora (string linea){
int numParametros = 1;
string parametro;
for (int unsigned i=0;i<linea.length();i++){
if (linea[i] == ','){
cout <<"Parámetro "<<numParametros<<": "<<"["<< parametro <<"]"<< '\n';
numParametros++;
}
else (parametro[i] = linea[i]);
}
}
答案 0 :(得分:1)
大多数情况下,处理参数填充的方式是错误的。修正版:
example.com/my-product-category/my-product-name
答案 1 :(得分:0)
你错过的点数
size_t
代替unsigned in
parametro
变量试试这个
#include <iostream>
#include <string>
using namespace std;
void funcionSeparadora(string linea) {
int numParametros = 1;
string parametro(linea.length(),' ');
for (size_t i = 0; i < linea.length(); i++) {
if (linea[i] == ',') {
cout << "Parámetro " << numParametros << ": " << "[" << parametro << "]" << endl;
numParametros++;
}
else {
parametro[i] = linea[i];
}
}
}
int main()
{
funcionSeparadora("what is this,");
system("pause");
return 0;
}