我正在学习apue,很多东西看了之后就忘,我想知道有没有一些有趣的练习方面的书籍,这样可以练习学过的知识,还能找到乐趣,比如说一些小的游戏之类的...谢过了~
by boerhawking - C/C++ - 2008-12-10 08:15:27 阅读(4125) 回复(21)
[code]#define HASH(fp) (((unsigned long )fp)%29) struct foo *fh[29]; struct foo{ int f_count; struct foo *f_next; }; foo_alloc{ struct foo *fp; int idx; if((fp=malloc(siezof(struct foo)))!=NULL){ ....... idx=HASH(fp);/*这个idx的值能是什么呢?*/ fp->f_next=fh[idx]; /*这里什么意思?是将那...
系统是solaris9,按
在程序中有这样一行代码 write(STDOUT_fileno,buff,BUFFSIZE); 可执行到 这一行时屏幕上并没有输出任何东西 ,是那里有问题呢 ??
这段代码运行会宕掉,问题在于fileno函数异常。 现在可以采用下面任一种方法使程序正常运行,但是不明白为什么。 请大家帮忙分析一下原因,thanks。 1:不执行下面程序段,则程序正常运行。 [code] for( i = 0; i < MidFpNum; i++ ){ fclose( MidFp.fp ); }[/code] 2: 如果realloc 改为malloc 重新分配内存,(仍执行上面程序段), 程序也可以正常运行 [code] if( idx >= Alloc_MidFp ){ Alloc_MidFp = Alloc_MidFp + All...
[code]#include
举个例子,我给fileno传一个非法指针,在solaris8(gcc 2.95.2)上面程序就崩溃了。我用man看到的fileno The fileno() function returns the integer file descriptor associated with the named stream; see open(2). 不应该崩溃吧! 是不是应该给个错误返回码(例如-1)。在man里面似乎没有提到遇到错误的时候fileno函数应该如何处理,难道这就是著名的"未定义"???????? ----------------------------------------------...
刚刚开始接触Linux网络编程,看到程序里用到了STDIN_fileno,不清楚是什么意思。。。 为什么在select()前要: FD_SET (STDIN_fileno, &read_fds); 而在select()后要: if (FD_ISSET (STDIN_fileno, &read_fds)) { ... } 请问这样做的用意是什么?谢谢!