【问题标题】:Print the string in C from the Java string obtained [closed]从获得的Java字符串中打印C中的字符串[关闭]
【发布时间】:2014-08-25 10:44:00
【问题描述】:

我在 Java 中有这段代码:其中值是字节数组

            String a = "";

            for (int index = 4; index < 8; index++) {

                if (a.isEmpty()) {
                    a+= (value[index] & 0xFF);
                } else {
                    a+= "." + (value[index] & 0xFF);
                }

            }

            return (a);

如何在 C 中转换它?

【问题讨论】:

  • 这段代码实际上在做什么?
  • 到目前为止你尝试过什么?那是怎么工作的?怎么没用?你能详细说明一下吗?你想制作 C 版本的 Java 代码吗?
  • 恐怕需要编写一些 C 代码来实现这种转换。
  • 好像只是散布着点。
  • 看起来像是将 IPv4 地址转换为“127.0.0.1”形式的字符串的代码。

标签: java c


【解决方案1】:

这样做是最简单的,跳过循环和点逻辑,因为您知道自己想要什么:

char a[128];

sprintf(a, "%d.%d.%d.%d",
    value[4] & 0xFF, value[5] & 0xFF, value[6] & 0xFF, value[7] & 0xFF);

如果有,请使用snprintf() 更安全。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多