• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ parse_arg函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中parse_arg函数的典型用法代码示例。如果您正苦于以下问题:C++ parse_arg函数的具体用法?C++ parse_arg怎么用?C++ parse_arg使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了parse_arg函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: parse_input

/* 
 * ===  FUNCTION  ======================================================================
 *         Name:  parse_input
 *  Description: separates a line of input into tokens. Passes tokens off for additional
 *  processing. 
 * =====================================================================================
 */
	void
parse_input (char *input, size_t size)
{
	char s[(int)size];
	strcpy(s, input);

	char *op_code = strtok(s, " ");
  char *raw_arg_a = strtok(NULL, " ");
	char *raw_arg_b = strtok(NULL, " ");
	char *raw_arg_c = strtok(NULL, " ");

	int argc = 0;

	struct arg_t args[3];
	if(raw_arg_a != 0) {
		args[0] = parse_arg(raw_arg_a);
		argc++;
	}
	if(raw_arg_b != 0) {
		args[1] = parse_arg(raw_arg_b);
		argc++;
	}
	if(raw_arg_c != 0) {
		args[2] = parse_arg(raw_arg_b);
		argc++;
	}

	op_code = trim_whitespace(op_code);
	str_to_lower(op_code);
	unsigned long op_hashed = hash(op_code);
	assemble_op(op_hashed, args, argc);
}		/* -----  end of function parse_input  ----- */
开发者ID:TheRealDonny,项目名称:TinyAssembler,代码行数:39,代码来源:tiny_assembler.c


示例2: parse_config

static void parse_config(void)
{
	int i;
	json_t *val;

	if (!json_is_object(opt_config))
		return;

	for (i = 0; i < ARRAY_SIZE(options); i++) {
		if (!options[i].name)
			break;
		if (!strcmp(options[i].name, "config"))
			continue;

		val = json_object_get(opt_config, options[i].name);
		if (!val)
			continue;

		if (options[i].has_arg && json_is_string(val)) {
			char *s = strdup(json_string_value(val));
			if (!s)
				break;
			parse_arg(options[i].val, s);
			free(s);
		} else if (!options[i].has_arg && json_is_true(val))
			parse_arg(options[i].val, "");
		else
			fprintf(stderr, "JSON option %s invalid\n",
				options[i].name);
	}
}
开发者ID:prcarter,项目名称:cpuminer,代码行数:31,代码来源:cpu-miner.c


示例3: oly_parse

int
oly_parse(struct command *c, char *s)
{

	c->a = 0;
	c->b = 0;
	c->c = 0;
	c->d = 0;
	c->e = 0;
	c->f = 0;
	c->g = 0;
	c->h = 0;

	if (!oly_parse_cmd(c, s))
		return FALSE;

	switch (min(ilist_len(c->parse), 9))
	{
	case 9: c->h = parse_arg(c->who, c->parse[8]);
	case 8: c->g = parse_arg(c->who, c->parse[7]);
	case 7: c->f = parse_arg(c->who, c->parse[6]);
	case 6: c->e = parse_arg(c->who, c->parse[5]);
	case 5: c->d = parse_arg(c->who, c->parse[4]);
	case 4: c->c = parse_arg(c->who, c->parse[3]);
	case 3: c->b = parse_arg(c->who, c->parse[2]);
	case 2: c->a = parse_arg(c->who, c->parse[1]);
	}

	return TRUE;
}
开发者ID:olytag,项目名称:Olympia--The-Age-of-Gods-PBEM,代码行数:30,代码来源:input.c


示例4: do_failed

static int do_failed(char *arg)
{
	char *msg = NULL;
	int msec = parse_arg(arg, &msg);

	return wdog_failed(cause, pid, msg, msec);
}
开发者ID:troglobit,项目名称:watchdogd,代码行数:7,代码来源:watchdogctl.c


示例5: trans_inst

int trans_inst(const char* name, int argc, char* const* argv, int* bin_ptr) {
    int _instno = 0;
    int _argi = 0;
    int _parg = 0;

    for (; _instno != INST_COUNT; ++_instno) {
        if (!util_stricmp(name, __inst[_instno].name)) {
            break;
        }
    }
    if (_instno == INST_COUNT) {
        fprintf(stderr, "no match function [%s] found.\n", name);
        return FAILURE;
    }

    if (argc > 0 && argc != strlen(__inst[_instno].argument)) {
        fputs("argument count not matched.\n", stderr);
        return FAILURE;
    }

    *(bin_ptr++) = _instno;

    for (; _argi != argc; ++_argi) {
        _parg = parse_arg(__inst[_instno].argument[_argi],
                          argv[_argi], bin_ptr);
        if (_parg == FAILURE) {
            fputs("argument parse error.\n", stderr);
            return FAILURE;
        }
        bin_ptr += typechr_len(__inst[_instno].argument[_argi]);
    }

    return (arg_len(_instno) + 1);
}
开发者ID:shouya,项目名称:svm,代码行数:34,代码来源:svm.c


示例6: main

int main(int argc, const char** argv)
{
    const char* input_path = 0;
    output_list outputs;
    Mode mode = textureMode;
    InputFileType inputType;
    size_t optimize = 1;
    bool bench = false;
    bool verbose = false;
    int result;

    parse_arg(argc, argv, input_path, outputs, optimize, bench, verbose, mode, inputType);

    if (input_path == 0 || outputs.size() == 0)
    {
        mode = helpMode;
    }

    if (mode == helpMode)
    {
        help();
        result = 1;
    }
    else
    {
        process_image(input_path, outputs, optimize, bench, verbose, mode, inputType);
        result = 0;
    }
    return result;
}
开发者ID:JGAndersen,项目名称:lightpng,代码行数:30,代码来源:lightpng.cpp


示例7: main

int main(int  argc,
	 char **argv)
{
   SOCKET              listen_sock;
   struct sockaddr_un  addr;
   union conv_sockaddr u_sock_addr;
   int                 len, nb_str;
   char                **print_me;
   listen_sock = create_socket();
   strcpy(addr.sun_path, get_path());
   addr.sun_family = AF_LOCAL;
   u_sock_addr.un = &addr;
   if (connect(listen_sock, u_sock_addr.ad, sizeof(addr)) == -1)
   {
      printf("Client not connected.\n");
      return (-1);
   }
   if ((nb_str =parse_arg(argc, argv, &print_me)) == 0)
      return (close_server(listen_sock));
   for (; nb_str > 0; nb_str--)
   {
      len = strlen(print_me[nb_str - 1]);
      write(listen_sock, &len, sizeof(len));
      write(listen_sock, print_me[nb_str - 1], len);
   }
   close(listen_sock);
   free(print_me);
   return (0);
}
开发者ID:Oicho,项目名称:psychic-hipster,代码行数:29,代码来源:sv_stl.c


示例8: do_reset

static int do_reset(char *arg)
{
	char *msg = NULL;
	int msec = parse_arg(arg, &msg);

	return wdog_reset_timeout(pid, msg, msec);
}
开发者ID:troglobit,项目名称:watchdogd,代码行数:7,代码来源:watchdogctl.c


示例9: add_entry

bool add_entry(char *lbuf, int length, struct dict_entry_t *entry)
{
	char *cp;

	if (length == 0)
		return false;

	/* allocate line buffer */
	entry->lbuf = (char *) ecalloc(1, length + 1);
	strncpy(entry->lbuf, lbuf, length);

	/* format: keyword TAB candidate1 TAB candidate2 TAB candidate3... TAB */
	if ((cp = strchr(entry->lbuf, '\t')) == NULL)
		goto error;

	*cp = '\0';
	entry->keyword = entry->lbuf;

	parse_reset(&entry->candidate);
	parse_arg(cp + 1, &entry->candidate, '\t', not_tab);

	/* illegal entry */
	if (entry->candidate.argc <= 0)
		goto error;

	return true;
error:
	free(entry->lbuf);
	return false;
}
开发者ID:uobikiemukot,项目名称:yaskk,代码行数:30,代码来源:sortdict.c


示例10: getopt

int getopt(int argc, char *const argv[], const char *optstring) {
    if (!optinited) {
        parse_arg(optstring);
        optinited = true;
    }
    optarg = nullptr;
    if (optind >= argc) {
        return -1;
    }
    else if (argv[optind][0] != '-' || argv[optind][1] == '\0') {
        // begin with no dash or dash alone
        return -1;
    }
    char optname = argv[optind][1];
    if (optnames[optname] == 0) {
        return -1;
        return '?';
    }
    if (optnames[optname] == 2) {
        // an argument
        if (++optind >= argc) {
            return -1;
        }
        optarg = argv[optind];
    }
    else {
        ++optind;
    }
    return optname;
}
开发者ID:CalvinNeo,项目名称:CFortranTranslator,代码行数:30,代码来源:getopt.cpp


示例11: parse

static cell AMX_NATIVE_CALL parse(AMX *amx, cell *params) /* 3 param */
{
	int inum = *params / sizeof(cell), iarg = 2, c;
	char* arg, *parse = get_amxstring(amx, params[1], 0, c);
	cell *cptr;
	int state;
	
	while (*parse)
	{
		arg = parse_arg(&parse,state);
		
		if (state)
		{
			if (inum <= iarg)
				return ((iarg - 2)>>1);
			
			cptr = get_amxaddr(amx, params[iarg++]);
			c = *get_amxaddr(amx, params[iarg++]);
			
			while (c-- && *arg)
				*cptr++ = (cell)*arg++;
			*cptr = 0;
		}
	}

	return ((iarg - 2)>>1);
}
开发者ID:VasilVasilev93,项目名称:amxmodx,代码行数:27,代码来源:string.cpp


示例12: parse_line

static int parse_line(struct binrpc_cmd* cmd, char* line)
{
	char* p;
	int count;

	cmd->method=strtok(line, " \t");
	if (cmd->method==0)
		goto error_no_method;
	count=0;
	for(p=strtok(0, " \t"); p; p=strtok(0, " \t")){
		if (count>=MAX_BINRPC_ARGS)
			goto error_too_many;
		if (parse_arg(&cmd->argv[count], p)<0){
			goto error_arg;
		}
		count++;
	}
	cmd->argc=count;
	return 0;
error_no_method:
	printf( "ERROR: no method name\n");
	return -1;
error_too_many:
	printf("ERROR: too many arguments (%d), no more than %d allowed\n",
			count, MAX_BINRPC_ARGS);
	return -1;
error_arg:
	printf("ERROR: bad argument %d: %s\n", count+1, p);
	return -1;
}
开发者ID:GreenfieldTech,项目名称:kamailio,代码行数:30,代码来源:kamcmd.c


示例13: read_args

void read_args(int argc, const char** argv,
               GD<COMP_T, SUPV_T, DAT_DIM_T, N_DAT_T>::GDParam& gd_param,
               SGD<COMP_T, SUPV_T, DAT_DIM_T, N_DAT_T>::SGDParam& sgd_param,
               MySolver::MyParam& my_param,
               char* data_file) {
    int i;
    for (i = 1; i < argc && argv[i][0] == '-'; ++i) {
        switch (parse_arg(argv[i])) {
            case 0  : print_help(); exit(0);
            case 1  : ++i; gd_param.verbosity(argv[i][0] - '0');
            case 2  : ++i; my_param.regul_coef(std::atof(argv[i]));
            case 3  : ++i; my_param.regul_coef(std::atof(argv[i])); break;
            case 5  : ++i; sgd_param.num_of_epoches(std::atoi(argv[i]));
            case 6  : ++i; sgd_param.num_of_epoches(std::atoi(argv[i])); break;
            case 11 : ++i; gd_param.init_learning_rate(std::atof(argv[i]));
            case 12 : ++i; gd_param.init_learning_rate(std::atof(argv[i])); break;
            case 14 : ++i; gd_param.learning_rate_1st_try(std::atof(argv[i]));
            case 15 : ++i; gd_param.learning_rate_1st_try(std::atof(argv[i])); break;
            case 17 : ++i; gd_param.learning_rate_try_factor(std::atof(argv[i]));
            case 18 : ++i; gd_param.learning_rate_try_factor(std::atof(argv[i])); break;
            default:
                std::cerr << "Unrecognized option " << argv[i] << "! Please type \"labeltree_train -h\" for help.\n";
                exit(1);
        }
    }
    if (i >= argc) {
        std::cerr << "Not enough input parameters! Please type \"main -h\" for help.\n";
        exit(1);
    }
    std::strcpy(data_file, argv[i]);
}
开发者ID:Raychee,项目名称:my_tree,代码行数:31,代码来源:main.cpp


示例14: main

int
main(int argc, char *argv[])
{
	int ii;
	int ret = 0;

	if (argc < 2) {
		fprintf(stderr, "arguments plox\n");
		exit(1);
	}

	g_hdl = pcidb_open(PCIDB_VERSION);
	if (g_hdl == NULL)
		fatal("failed to open pci database: %s\n", strerror(errno));

	for (ii = 1; ii < argc; ii++) {
		g_case = L_INVALID;
		parse_arg(argv[ii]);
		print_arg();
	}


	pcidb_close(g_hdl);

	return (ret);
}
开发者ID:jclulow,项目名称:illumos-hcl,代码行数:26,代码来源:pcilookup.c


示例15: main

int main(int argc, char **argv)
{
	int n;
	OPTION opt;
	
	#if defined(WIN32)
	_CrtSetReportMode( _CRT_WARN, _CRTDBG_MODE_FILE );
	_CrtSetReportFile( _CRT_WARN, _CRTDBG_FILE_STDOUT );
	_CrtSetReportMode( _CRT_ERROR, _CRTDBG_MODE_FILE );
	_CrtSetReportFile( _CRT_ERROR, _CRTDBG_FILE_STDOUT );
	_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE );
	_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDOUT );
	_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_DELAY_FREE_MEM_DF|_CRTDBG_CHECK_ALWAYS_DF|_CRTDBG_LEAK_CHECK_DF);
	#endif

	n = parse_arg(&opt, argc, argv);
	if(n+2 > argc){
		show_usage();
		exit(EXIT_FAILURE);
	}

	for(;n<=(argc-2);n+=2){
		test_arib_std_b25(argv[n+0], argv[n+1], &opt);
	}
	
	#if defined(WIN32)
	_CrtDumpMemoryLeaks();
	#endif

	return EXIT_SUCCESS;
}
开发者ID:ha1t,项目名称:recfriio,代码行数:31,代码来源:td.c


示例16: cmd_shift

void
cmd_shift(struct command *c)
{

  if (ilist_len(c->parse) > 1) {
/*
 *  Deleted argument need not be freed, since it's just a
 *  pointer into another string.  It was never allocated
 *  itself.
 */

    ilist_delete((ilist *) & c->parse, 1);
  }

  c->a = c->b;
  c->b = c->c;
  c->c = c->d;
  c->d = c->e;
  c->e = c->f;
  c->f = c->g;
  c->g = c->h;

  if (numargs(c) >= 8)
    c->h = parse_arg(c->who, c->parse[8]);
  else
    c->h = 0;
}
开发者ID:ennorehling,项目名称:olympiapbem,代码行数:27,代码来源:input.c


示例17: run_main

int
run_main (int argc, ACE_TCHAR *argv[])
{
  ACE_START_TEST (ACE_TEXT ("Thread_Pool_Reactor_Test"));
  parse_arg (argc, argv);

  // Changed the default
  ACE_TP_Reactor sr;
  ACE_Reactor new_reactor (&sr);
  ACE_Reactor::instance (&new_reactor);

  ACCEPTOR acceptor;
  ACE_INET_Addr accept_addr (rendezvous);

  if (acceptor.open (accept_addr) == -1)
    ACE_ERROR_RETURN ((LM_ERROR,
                       ACE_TEXT ("%p\n"),
                       ACE_TEXT ("open")),
                      1);

  ACE_DEBUG((LM_DEBUG,
             ACE_TEXT ("(%t) Spawning %d server threads...\n"),
             svr_thrno));
  ACE_Thread_Manager::instance ()->spawn_n (svr_thrno,
                                            svr_worker);
  ACE_Thread_Manager::instance ()->spawn (worker);

  ACE_Thread_Manager::instance ()->wait ();

  ACE_END_TEST;
  return 0;
}
开发者ID:INMarkus,项目名称:ATCD,代码行数:32,代码来源:Thread_Pool_Reactor_Test.cpp


示例18: csiebox_server_init

//read config file, and start to listen
void csiebox_server_init(/*{{{*/
  csiebox_server** server, int argc, char** argv) {
  csiebox_server* tmp = (csiebox_server*)malloc(sizeof(csiebox_server));
  if (!tmp) {
    fprintf(stderr, "server malloc fail\n");
    return;
  }
  memset(tmp, 0, sizeof(csiebox_server));
  if (!parse_arg(tmp, argc, argv)) {
    fprintf(stderr, "Usage: %s [config file]\n", argv[0]);
    free(tmp);
    return;
  }
  int fd = server_start();
  if (fd < 0) {
    fprintf(stderr, "server fail\n");
    free(tmp);
    return;
  }
  tmp->client = (csiebox_client_info**)
      malloc(sizeof(csiebox_client_info*) * getdtablesize());
  if (!tmp->client) {
    fprintf(stderr, "client list malloc fail\n");
    close(fd);
    free(tmp);
    return;
  }
  memset(tmp->client, 0, sizeof(csiebox_client_info*) * getdtablesize());
  tmp->listen_fd = fd;
  *server = tmp;
}
开发者ID:qhan1028,项目名称:SP2015,代码行数:32,代码来源:csiebox_server.c


示例19: parse_arg_list

int
parse_arg_list(unsigned char *buf, int len, userfw_arg *dst, int count, uint8_t const *types)
{
	struct userfw_io_header *arg = (struct userfw_io_header *)buf;
	int err = 0, i;

	for(i = 0; i < count; i++)
	{
		if (len < sizeof(*arg))
			return EINVAL;

		if (arg->subtype == ST_ARG)
		{
			if (arg->type != types[i] || arg->length > len)
				return EINVAL;

			if ((err = parse_arg((unsigned char *)arg, &(dst[i]))) != 0 )
				return err;
		}
		else
			i--;

		len -= arg->length;
		arg = (struct userfw_io_header *)(((unsigned char *)arg) + arg->length);
	}

	if (i != count)
		return EINVAL;

	return 0;
}
开发者ID:gelraen,项目名称:userfw,代码行数:31,代码来源:userfw_cmd.c


示例20: while

static t_syntax_error   *parse_args(t_instr *instr,
                                    t_token_list **list_pointer,
                                    const t_token *prev)
{
  int                   i;
  t_syntax_error        *error;
  t_token               *comma;

  i = -1;
  while (++i < instr->info->argument_count)
    {
      if (i)
        {
          comma = try_to_read_token(list_pointer, TOKEN_TYPE_COMMA);
          if (!comma)
            {
              free_args(instr, i);
              return (syntax_error_new(&prev->position, "Expected comma"));
            }
        }
      error = parse_arg(instr->arguments + i, list_pointer, prev,
                        instr->info->argument_types[i]);
      if (error)
        {
          free_args(instr, i);
          return (error);
        }
    }
  return (NULL);
}
开发者ID:motet-a,项目名称:corewar,代码行数:30,代码来源:parse_instr.c



注:本文中的parse_arg函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ parse_args函数代码示例发布时间:2022-05-30
下一篇:
C++ parse_address函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap