Это скопирует массив символов в массив целых:
#include <algorithm>
char foo[9] = "asdfasdf";
int bar[9];
std::copy(foo, foo+9, bar);
станд :: копия
Это присваивает значения массиву символов с нулем в конце {'a', 's', 'd', 'f', 'a', 's', 'd', 'f', '\ 0' } в массив целых чисел, что дает {97, 115, 100, 102, 97, 115, 100, 102, 0}. Обратите внимание, что это включает нулевое завершение исходной строки.
Это проанализирует массив строк и поместит их целочисленные значения в массив целых чисел:
#include <algorithm>
#include <sstream>
#include <string>
template <class T>
T parse(const std::string& str)
{
T temp;
std::istringstream iss(str);
iss >> temp;
if(iss.bad() || iss.fail())
{
// handle conversion failure
}
return temp;
}
...
std::string foo[3];
int bar[3];
foo[0] = "67";
foo[1] = "11";
foo[2] = "42";
std::transform(foo, foo+3, bar, parse<int>);
станд :: преобразование
Это преобразует каждую из строк в массиве foo в целые, и помещает их в массив целых, бар.