免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3092 | 回复: 14
打印 上一主题 下一主题

[C] 描述符问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-18 20:15 |只看该作者 |倒序浏览
我遇到这样的问题,我有一个这样的结构:

typedef  struct A   *A
#define   A  aaa

struct A
{
int len;
FILE *fp;
int sockfd;
};

A create_aaa( char* url)
{
     A m_temp =NULL;
    m_temp = (A)malloc(sizeof(*m_temp));
   if (!m_temp)
         return -1;

   m_temp->len=0;
   m_temp->fp = NULL;
   m_sockfd=0;

   m_temp->fp = fopen("path_and_file_name", "rb");
   if (!m_temp->fp)
    {
           free(m_temp);
           return -1;
     }
     
      do something with sockect.

      return m_temp;
}

#undef A


但是,当我在其它函数中,用create_aaa 生成一个aaa,并且通过aaa->fp来读取文件里的内容,或者用aaa->sockfd来读取socket上的数据的时候就不行了。但是无论aaa->fp还是aaa->sockfd都不是NULL和0,它们确实是合法的描述符。请问这是为什么?

[ 本帖最后由 napleon 于 2010-1-18 21:25 编辑 ]

论坛徽章:
1
黑曼巴
日期:2020-02-27 22:54:26
2 [报告]
发表于 2010-01-18 20:48 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2010-01-18 21:05 |只看该作者

回复 #2 c/unix 的帖子

问题是解决了,但是心里还是不踏实。
在下浅薄,愿闻其详,望不吝赐教。

论坛徽章:
0
4 [报告]
发表于 2010-01-18 21:23 |只看该作者
原帖由 c/unix 于 2010-1-18 20:48 发表
这段程序错误百出


你能帮忙我指出我的错误吗? 我知道自己的无知可能招来嘲笑,但是我只想被嘲笑一次!请帮我指出我的错误好吗?谢谢!

论坛徽章:
0
5 [报告]
发表于 2010-01-18 21:24 |只看该作者
楼主开发过VOIP项目 , 还用GTK+写过一个linux下多线程下载程序.

好像是这样吧!

论坛徽章:
1
黑曼巴
日期:2020-02-27 22:54:26
6 [报告]
发表于 2010-01-18 21:29 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
7 [报告]
发表于 2010-01-18 21:33 |只看该作者
原帖由 c/unix 于 2010-1-18 21:29 发表
汗,改的真快。我第一帖看到的可不是这段代码啊。


本来的代码是这个样子,定义数据结构一般不会犯错误,我没有认真写。因为你说漏洞百出,我想其它的逻辑是否有错误。如果除了这个其它的没有问题,我心里踏实一些,不管怎么样。谢谢你的提醒!

[ 本帖最后由 napleon 于 2010-1-18 21:35 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2010-01-18 21:36 |只看该作者
VOIP或GTK+和C语言比, 哪个容易 ? 楼主.

论坛徽章:
0
9 [报告]
发表于 2010-01-18 21:39 |只看该作者
原帖由 老手 于 2010-1-18 21:36 发表
VOIP或GTK+和C语言比, 哪个容易 ? 楼主.


我不知道,我很菜的。

论坛徽章:
0
10 [报告]
发表于 2010-01-18 21:57 |只看该作者
原帖由 napleon 于 2010-1-18 21:39 发表


我不知道,我很菜的。

谦虚了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP