sstream class 从字符数组中读取整数
sstream class to read integers from character array
我还没有看到任何利用字符串流从字符数组中读取整数列表的适当应用。
元素应作为 space 定界字符串/(字符数组)在一行中输入,并且 sstream class 用于执行必要的转换。
这应该在不使用矢量或任何其他额外的 STL 容器(仅 std::string 和 char 数组)的情况下完成,结果整数数组的长度应存储在变量中。
执行此类操作的最有效方法是什么?
假设我明白你的意思,那么
#include <iostream>
#include <vector>
#include <sstream>
int main() {
std::string apples;
std::getline( std::cin, apples );
std::istringstream iss( apples );
std::vector<int> vec;
int val;
while ( iss >> val ) {
vec.push_back( val );
}
for ( int i : vec ) {
std::cout << i << ',';
}
}
这更符合我的意思。
int* theheap = new int[10];
std::string num;
int val = 0;
int size = 0;
std::cout << "Enter the elements of heap" << std::endl;
std::getline( std::cin, num );
std::istringstream iss(num);
while ( iss >> val ) {
if (val != ' '){
theheap[size] = val;
++size;
}
}
我还没有看到任何利用字符串流从字符数组中读取整数列表的适当应用。
元素应作为 space 定界字符串/(字符数组)在一行中输入,并且 sstream class 用于执行必要的转换。
这应该在不使用矢量或任何其他额外的 STL 容器(仅 std::string 和 char 数组)的情况下完成,结果整数数组的长度应存储在变量中。
执行此类操作的最有效方法是什么?
假设我明白你的意思,那么
#include <iostream>
#include <vector>
#include <sstream>
int main() {
std::string apples;
std::getline( std::cin, apples );
std::istringstream iss( apples );
std::vector<int> vec;
int val;
while ( iss >> val ) {
vec.push_back( val );
}
for ( int i : vec ) {
std::cout << i << ',';
}
}
这更符合我的意思。
int* theheap = new int[10];
std::string num;
int val = 0;
int size = 0;
std::cout << "Enter the elements of heap" << std::endl;
std::getline( std::cin, num );
std::istringstream iss(num);
while ( iss >> val ) {
if (val != ' '){
theheap[size] = val;
++size;
}
}