C / C ++如何将int转换回字符串(一个单词)?

第1234章

在C中,我从txt文件中读取一个字符串,例如字符串“ hello”,因此我有:

F=fopen("text.txt","r");
fscanf(F,"%s\n",string);

现在,如果我想将此字符串转换为十六进制和十进制,则可以执行以下操作:

for (i=0; i<strlen(string); i++)
{
   sprintf(st, "%02X", string[i]);  //Convert to hex
   strcat(hexstring, st);

   sprintf(st, "%03d", string[i]);  //Convert to dec
   strcat(decstring, st);
}

现在,我的问题是:我想进行逆运算,但是怎么做呢?如果我转换“你好”,这是输出

   hex-> 68656c6c6f
   dec-> 104101108108111

我想从“ 68656c6c6f”或“ 104101108108111”回到“你好”,我该怎么做?

(基本上我想做这样的网站:http : //string-functions.com/ ;字符串到十六进制转换器,十六进制到字符串转换器,十进制到十六进制,转换器,十六进制到十进制转换器)

大卫·兰金(David C.Rankin)

面临的挑战是要认识到您有一个十六进制字符串和一个十进制字符串,这意味着您拥有值的字符串表示形式,而不是值本身。因此,您需要先将字符串表示形式转换为适当的数值,然后再转换回原始字符串。

假设你有hex两个字节的十六进制字符对的字符串表示,下面将返回原始字符串hello68656c6c6f

/* convert hex string to original */
char hex2str[80] = {0};
char *p = hex2str;
int i = 0;
int itmp = 0;

while (hex[i])
{
    sscanf (&hex[i], "%02x", &itmp);
    sprintf (p, "%c", itmp);
    p++;
    i+=2;
}
*p = 0;

printf ("\n hex2str: '%s'\n\n", hex2str);

输出

$ ./bin/c2h2c < <(printf "hello\n")

 hex2str: 'hello'

简短的工作示例

#include <stdio.h>
#include <string.h>

#define MAXS 64

int main (void) {

    char hex[] = "68656c6c6f";
    char hex2str[MAXS] = {0};
    char *p = hex2str;
    int itmp = 0;
    int i = 0;

    /* convert hex string to original */
    while (hex[i])
    {
        sscanf (&hex[i], "%02x", &itmp);
        sprintf (p, "%c", itmp);
        p++;
        i+=2;
    }
    *p = 0;

    printf ("\n hex2str: '%s'\n\n", hex2str);

    return 0;
}

输出

$ ./bin/c2h2c

 hex2str: 'hello'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++如何将字符串转换为指针?

来自分类Dev

如何将两个字符串从Swift传递给C ++函数,并获取一个整数数组?

来自分类Dev

如何在C ++中将字符串数组转换为字符串类型,如将每个元素连接成一个字符串,并在字符串上使用子字符串?

来自分类Dev

如何将C ++ QString参数转换为C#字符串

来自分类Dev

C ++如何将C样式字符串隐式转换为字符串对象?

来自分类Dev

如何将C#字符串引用转换为Javascript字符串引用

来自分类Dev

如何将具有字符串数据成员的类的对象传递给C ++中的另一个类

来自分类Dev

字符串c#中的最后一个单词

来自分类Dev

如何在字符串C#中的另一个单词之后直接找到一个单词

来自分类Dev

如何使字符串变量不止一个单词C ++?

来自分类Dev

如何将字符串C中的每个特定字符替换为另一个?

来自分类Dev

如何从C解码一个可变字符串?

来自分类Dev

C ++如何将字符串转换为指针?

来自分类Dev

C字符串-按第一个单词的长度排序

来自分类Dev

从C中的字符串的每个单词中删除一个子字符串(如果包含)

来自分类Dev

在C中声明一个字符串/单词变量

来自分类Dev

如何将XML转换为C ++字符串

来自分类Dev

C-如何将文本文件中的单词读入字符串数组

来自分类Dev

将字符串(一个单词)拆分为C中的字母

来自分类Dev

用C中的另一个单词更改字符串中的单词

来自分类Dev

C语言,将2个字符串转换并合并为一个double

来自分类Dev

如何将 (ICU4C) Unicode 字符串逐个字符复制到另一个 Unicode 字符串?

来自分类Dev

c# - 如何将字符串替换为另一个可以恢复原始字符串的字符串

来自分类Dev

从 C 上的字符串中删除第一个单词

来自分类Dev

c 字符串:如果在句子中找到一个单词,则输入 ' '

来自分类Dev

c++ - 如何连接一个字符串和一个int

来自分类Dev

如何从 Visual C# 中的字符串中删除一个单词

来自分类Dev

如何将字符串数组传递给 C 中的另一个函数

来自分类Dev

c++ - 如何将一个int数组连接到用点分隔的c ++中的字符串?

Related 相关文章

  1. 1

    C ++如何将字符串转换为指针?

  2. 2

    如何将两个字符串从Swift传递给C ++函数,并获取一个整数数组?

  3. 3

    如何在C ++中将字符串数组转换为字符串类型,如将每个元素连接成一个字符串,并在字符串上使用子字符串?

  4. 4

    如何将C ++ QString参数转换为C#字符串

  5. 5

    C ++如何将C样式字符串隐式转换为字符串对象?

  6. 6

    如何将C#字符串引用转换为Javascript字符串引用

  7. 7

    如何将具有字符串数据成员的类的对象传递给C ++中的另一个类

  8. 8

    字符串c#中的最后一个单词

  9. 9

    如何在字符串C#中的另一个单词之后直接找到一个单词

  10. 10

    如何使字符串变量不止一个单词C ++?

  11. 11

    如何将字符串C中的每个特定字符替换为另一个?

  12. 12

    如何从C解码一个可变字符串?

  13. 13

    C ++如何将字符串转换为指针?

  14. 14

    C字符串-按第一个单词的长度排序

  15. 15

    从C中的字符串的每个单词中删除一个子字符串(如果包含)

  16. 16

    在C中声明一个字符串/单词变量

  17. 17

    如何将XML转换为C ++字符串

  18. 18

    C-如何将文本文件中的单词读入字符串数组

  19. 19

    将字符串(一个单词)拆分为C中的字母

  20. 20

    用C中的另一个单词更改字符串中的单词

  21. 21

    C语言,将2个字符串转换并合并为一个double

  22. 22

    如何将 (ICU4C) Unicode 字符串逐个字符复制到另一个 Unicode 字符串?

  23. 23

    c# - 如何将字符串替换为另一个可以恢复原始字符串的字符串

  24. 24

    从 C 上的字符串中删除第一个单词

  25. 25

    c 字符串:如果在句子中找到一个单词,则输入 ' '

  26. 26

    c++ - 如何连接一个字符串和一个int

  27. 27

    如何从 Visual C# 中的字符串中删除一个单词

  28. 28

    如何将字符串数组传递给 C 中的另一个函数

  29. 29

    c++ - 如何将一个int数组连接到用点分隔的c ++中的字符串?

热门标签

归档