string转为整数数组
时间: 2023-09-06 07:08:11 浏览: 147
可以使用以下代码将一个string转换为一个整数数组:
```c++
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
int main()
{
string str = "1 2 3 4 5";
stringstream ss(str);
vector<int> arr;
int num;
while (ss >> num)
{
arr.push_back(num);
}
for (int i = 0; i < arr.size(); i++)
{
cout << arr[i] << " ";
}
return 0;
}
```
运行结果:
```
1 2 3 4 5
```
在上面的代码中,我们使用stringstream类从字符串中逐个读取整数,并将它们存储到一个vector<int>数组中。最后,我们遍历整个数组并将每个元素打印到控制台上。
相关问题
整数数组转为list
整数数组可以通过以下几种方法转换为List:
1. 使用循环遍历数组,将每个元素添加到List中。例如:
```java
List<Integer> list = new ArrayList<>();
for (int element : nums) {
list.add(element);
}
```
2. 使用Java 8中的流操作,将int数组转换为数值流,再将其装箱为Integer流,最后将流转换为List。例如:
```java
List<Integer> list = Arrays.stream(nums)
.boxed()
.collect(Collectors.toList());
```
3. 可以使用字符串的分割操作提取一段包含整数的字符串中的整数,并将其存放到List中。例如:
```java
String numString = "12,5,4645,245";
String[] numArray = numString.split(",");
List<Integer> list = new ArrayList<>();
for (String num : numArray) {
list.add(Integer.parseInt(num));
}
```
以上是三种常用的方法将整数数组转换为List的方式。
Java将字符串string str=轨道面,转换为16进制20字节无符号整数数组
可以使用Java中的getBytes()方法将字符串转换为字节数组,再将字节数组转换为16进制字符串,最后使用Java中的BigInteger类将16进制字符串转换为20字节无符号整数数组。
以下是示例代码:
```
String str = "轨道面";
byte[] bytes = str.getBytes();
String hexString = "";
for (int i = 0; i < bytes.length; i++) {
String hex = Integer.toHexString(bytes[i] & 0xFF);
if (hex.length() == 1) {
hexString += "0";
}
hexString += hex;
}
byte[] unsignedInt = new BigInteger(hexString, 16).toByteArray();
if (unsignedInt.length > 20) {
byte[] temp = new byte[20];
System.arraycopy(unsignedInt, unsignedInt.length - 20, temp, 0, 20);
unsignedInt = temp;
} else if (unsignedInt.length < 20) {
byte[] temp = new byte[20];
System.arraycopy(unsignedInt, 0, temp, 20 - unsignedInt.length, unsignedInt.length);
unsignedInt = temp;
}
```
这段代码将字符串"轨道面"转换为20字节无符号整数数组。
阅读全文