Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 解析后如何将字符串转换为int数组?_C++_Arrays_String_Int - Fatal编程技术网

C++ 解析后如何将字符串转换为int数组?

C++ 解析后如何将字符串转换为int数组?,c++,arrays,string,int,C++,Arrays,String,Int,我正在尝试将已使用空格解析的字符串转换为int数组: //example of string before parsing arrElement = "1,2,3"; //parsing for(int i =0; i < size; i++){ if(arrElements[i] == ','){ arrElements[i] = ' '; } } //string is now "

我正在尝试将已使用空格解析的字符串转换为int数组:

    //example of string before parsing
    arrElement = "1,2,3";

    //parsing
    for(int i =0; i < size; i++){
        if(arrElements[i] == ','){
            arrElements[i] = ' ';
        }
    }
    //string is now "1 2 3"

    //trying to convert numbers only into int
    stringstream str;
    int intCount = 0;
    int intNum[size];
    for(int i = 0; i < size; i++){
        str << arrElements[i];
        if(str == " ") {
        }
        else {
            str >> intNum[intCount];
            intCount++;
        }
    }

我理解这个问题,但我是新C++,所以我可能错了,我不确定如何解决这个问题。如果有任何帮助,我们将不胜感激。

以下是一些使您的示例生效的最小修改。 我认为您应该避免
std::stringstream::operator>
std::stringstream::operator intNum[intCount]之间的连续调用;
intCount++;
}
}

related/dupe:
int intNum[size]如果<代码>大小<代码>是变量(不是常数),那么这不是合法的C++。C++在指定数组中的条目数量时需要常数。如何使数组与整数的大小完全一致。我只能使数组的大小如此之大,然后我最终不得不将其缩短。@TitustheTitan-
std::vector intNum(size)我可能会使用stringstream编辑。非常感谢。
    209664128 32764 0 0 0
//example of string before parsing
std::string arrElements = "1,2,3";

//parsing
for(int i =0; i < arrElements.size(); i++){
    if(arrElements[i] == ','){
        arrElements[i] = ' ';
    }
}
//string is now "1 2 3"

//trying to convert numbers only into int
stringstream str(arrElements);
int intCount = 0;
static const int size = 3;
int intNum[size];
for(int i = 0; i < size; i++){
    if(str == " ") {
    }
    else {
        str >> intNum[intCount];
        intCount++;
    }
}