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

pau*_*ago 2 c char void

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

void *buf;
read(0,buf,1);
char tempChar;
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

Mys*_*ial 6

你可以这样做:

char tempChar;
read(0,&tempChar,1);
Run Code Online (Sandbox Code Playgroud)

所以实际上根本不需要单独的缓冲区.

  • 顺便说一句,OP(或任何C新手)需要习惯于指针的第一件事就是当一个函数将一个指针作为一个参数时,这不会**意味着你需要一个指针变量呼叫者,召集者.在许多情况下,您只想传递现有局部变量的地址. (2认同)