gpt4 book ai didi

C 段错误错误消息

转载 作者:行者123 更新时间:2023-11-30 20:48:18 25 4
gpt4 key购买 nike

我是 C 编程新手,正在创建一个客户端-服务器程序。客户端基本上调用服务器上的函数,并将结果返回给客户端。但是,当我尝试将指定目录的内容发送到客户端时,我不断收到段错误。

它列出了服务器中目录中的文件名,但不会将它们返回给客户端。列出文件名后会出现错误并且程序崩溃: Segmentation Fault

代码:

void three()
{
DIR *mydir;
if ((mydir = opendir("transfer/")) == NULL) {
perror("error");
exit(EXIT_FAILURE);
}

struct dirent *entry = NULL;

// returns NULL when dir contents all processed
while ((entry = readdir(mydir)) != NULL)
printf("%s\n", entry->d_name);
strcpy((char *) send_buff, entry->d_name);
write(connfd, send_buff, strlen((char *) send_buff) + 1);
}

有什么办法可以解决这个问题吗?提前致谢!

最佳答案

看起来您缺少此代码块周围的大括号,因为目前它只调用 printfstrcpywrite只有在循环完成后才会被调用,此时 entry 的内容将无效。

while ((entry = readdir(mydir)) != NULL)
{
printf("%s\n", entry->d_name);
strcpy((char *) send_buff, entry->d_name);
write(connfd, send_buff, strlen((char *) send_buff) + 1);
}

关于C 段错误错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43543234/

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