红联Linux门户
Linux帮助

帮我看下这段c,最后段我看不懂APUE上的

发布时间:2010-09-08 22:10:33来源:红联作者:yezhubenyue
#include "apue.h"

#define TOK_ADD 5

void do_line(char *);
void cmd_add(void);
int get_token(void);

int
main(void)
{
char line[MAXLINE];

while (fgets(line, MAXLINE, stdin) != NULL)
do_line(line);
exit(0);
}

char *tok_ptr; /* global pointer for get_token() */

void
do_line(char *ptr) /* process one line of input */
{
int cmd;

tok_ptr = ptr;
while ((cmd = get_token()) > 0) {
switch (cmd) { /* one case for each command */
case TOK_ADD:
cmd_add();
break;
}
}
}

void
cmd_add(void)
{
int token;

token = get_token();
/* rest of processing for this command */
}

int
get_token(void)
{
/* fetch next token from line pointed to by tok_ptr */ //这段是干嘛的啊,咋么什么都没有啊??有什么用啊
}
文章评论

共有 6 条评论

  1. 于 2012-09-14 04:08:40发表:

    不能太认死理哇

  2. yezhubenyue 于 2010-09-11 14:15:07发表:

    额~~~谢谢了~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  3. shenhao0129 于 2010-09-09 17:48:07发表:

    引用:
    但是这里while ((cmd = get_token()) > 0) {
    switch (cmd) { /* one case for each command */
    case TOK_ADD:
    cmd_add();
    ...
    yezhubenyue 发表于 2010-9-9 09:42

    只是调用了函数,并不一定要求这个函数要有实体的阿,也就是说这部分功能暂时还没有完成,以后框架出来了,再慢慢的完善小的子功能

  4. himila 于 2010-09-09 14:33:58发表:

    用来干这个的。
    token = get_token();
    /* rest of processing for this command */

  5. yezhubenyue 于 2010-09-09 09:42:39发表:

    但是这里while ((cmd = get_token()) > 0) {
    switch (cmd) { /* one case for each command */
    case TOK_ADD:
    cmd_add();
    break;
    用到这个函数了啊!!!!

  6. shenhao0129 于 2010-09-08 23:53:50发表:

    最后一段是预留的函数,留待以后扩展用的