有没有办法将void * buf转换为char?

时间:2011-11-06 07:38:55

标签: c char void

我正在使用read函数接收一个字符,然后再次运行read函数。在我再次运行该函数之前,我想将缓冲区中的内容保存到char变量中。像这样:

void *buf;
read(0,buf,1);
char tempChar;

我想将* buf中的内容存储到char tempChar中。我知道我不能把它们设置得相等,但这有可能吗?

感谢。

2 个答案:

答案 0 :(得分:6)

你可以这样做:

char tempChar;
read(0,&tempChar,1);

因此实际上根本不需要单独的缓冲区。

答案 1 :(得分:1)

如果需要额外的缓冲区,您可以tempChar = *(char *)buf;