gpt4 book ai didi

C++ 数组 : conversion of contained type

转载 作者:太空狗 更新时间:2023-10-29 23:24:33 27 4
gpt4 key购买 nike

在 C++ 中将固定长度字符串数组转换为固定长度整数数组的最佳方法是什么?

最佳答案

这会将一个字符数组复制到一个整数数组中:

#include <algorithm>
char foo[9] = "asdfasdf";
int bar[9];
std::copy(foo, foo+9, bar);

std::copy

这将分配空终止字符数组的值 {'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>);

std::transform

这会将数组 foo 中的每个字符串转换为整数,并将它们放入整数数组 bar 中。

关于C++ 数组 : conversion of contained type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/284019/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com