gpt4 book ai didi

java - 将数组/指针从 C 转换为 Java

转载 作者:搜寻专家 更新时间:2023-11-01 01:28:06 25 4
gpt4 key购买 nike

我正在尝试用 C 语言将程序重写为 Java。我没有 C 语言的经验,但有一些 C++ 经验,所以我了解一些指针/数组的东西。虽然我有点困惑......我在 C 中给出了以下代码:

void ProcessStatus(Char *Stat){
DWORD relayDate;
DWORD APIDate;

version3=false;
version4=false;
version9=false;
tiltAngle = false;
ver4features=0;
tooNew=false;
ProgRev=0;

switch(Stat[14]){

据我所知,ProcessStatus 函数被传递了一个指向 char 的指针;我假设因为在代码的最后一行中提供的 Stat[14] 被称为它在数组中。

所以我感到困惑的是如何在 Java 中将指针传递给数组中的 char。

任何帮助将不胜感激,即使它有助于我理解 C 代码。谢谢。

最佳答案

很难说传过来的是字符串还是原始数据。

如果是字符串,请使用 Java 的内置 String 类。

void ProcessStatus( String stat)
{
...

switch ( stat.charAt( 14 ) )
{
}
}

如果是原始数据数组,使用byte数组

void ProcessStatus( byte[] stat)
{
...

switch ( stat[ 14 ] )
{
}
}

顺便说一句,C 的char 数据类型在Java 中被翻译成byte 类型。 Java 中的char 类型表示一个UTF-16 字符,长度为2 个字节。 byte 就是它的原样(8 位,有符号)。

关于java - 将数组/指针从 C 转换为 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11505214/

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