小编Bod*_*sko的帖子

将int转换为C中的char数组

是否可以使用强制转换将C转换为C中的"string"?没有任何功能,如atoi()或sprintf()?

我想要的是这样的:

int main(int argc, char *argv[]) {
    int i = 500;
    char c[4];

    c = (char)i;
    i = 0;
    i = (int)c;
}
Run Code Online (Sandbox Code Playgroud)

原因是我需要生成两个随机整数(0到500)并将两个作为消息队列中的一个字符串发送到另一个进程.另一个进程接收消息并执行LCM.

我知道怎么做atoi()和itoa().但是我的老师想要使用演员.

另外,为什么不能编译以下内容?

typedef struct
{
    int x;
    int y;
} int_t;

typedef struct
{
    char x[sizeof(int)];
    char y[sizeof(int)];
} char_t;

int main(int argc, char *argv[])
{
    int_t rand_int;
    char_t rand_char;

    rand_int.x = (rand() % 501);
    rand_int.y = (rand() % 501);

    rand_char = (char_t)rand_int;
}
Run Code Online (Sandbox Code Playgroud)

c arrays int casting char

9
推荐指数
2
解决办法
6万
查看次数

标签 统计

arrays ×1

c ×1

casting ×1

char ×1

int ×1