在C语言中,是否可以仅通过强制类型转换将int类型转换为“string”类型?不使用任何函数,如atoi()
或sprintf()
吗?
我想要的效果如下:
int main(int argc, char *argv[]) {
int i = 500;
char c[4];
c = (char)i;
i = 0;
i = (int)c;
}
原因是我需要生成两个随机整数(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;
}
微笑- K Scott Piel