gpt4 book ai didi

c - 将 char 缓冲区传递给函数

转载 作者:太空宇宙 更新时间:2023-11-04 01:25:17 25 4
gpt4 key购买 nike

我的指针有一些问题。我的想法是将缓冲区传递给函数,以便将返回数据存储在该缓冲区中。但是,我不知道它是否会起作用。

void main()
{
char *buf = malloc(sizeof(char) *buf);
memset(buf, 0x00, BUF_SIZE);
sendCommand(buf);
}

sendCommand(char *buf)
{
write(fd, "some commands", strlen("some commands"));
readResponse(buf);
}

readResponse(char *buf)
{
read(fd, buf, nbytes);
}

我知道到目前为止没有错误处理。有些变量没有明确定义。它仅取决于传递缓冲区。我会在主函数中看到在 readResponse() 中获得的数据吗?

最佳答案

readResponse() 中,当您将 nbytes 读入 buf 指向的缓冲区时,您将在 main 中获取该数据

需要做的一些改进-

1. void main() -> int main(void)int main (int argc, char *argv[])

2. char *buf = malloc(sizeof(char) *buf); -> char *buf = malloc(BUF_SIZE);//sizeof(char)=1 或者你想要的东西(不确定你想要什么??)

注意 - 请记住释放分配的内存。

关于c - 将 char 缓冲区传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32587721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com