这篇教程C++ str_new函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中str_new函数的典型用法代码示例。如果您正苦于以下问题:C++ str_new函数的具体用法?C++ str_new怎么用?C++ str_new使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了str_new函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: str_new_strStr *str_new_str(const char *data, size_t n){ Str *s = str_new(n); memcpy(s->data, data, n); s->len = n; return s;}
开发者ID:simonz05,项目名称:ludis,代码行数:9,
示例2: print_helpstatic void print_help(struct menu *menu){ struct gstr help = str_new(); menu_get_ext_help(menu, &help); printf("/n%s/n", str_get(&help)); str_free(&help);}
开发者ID:calao-systems,项目名称:calao-buildroot,代码行数:9,
示例3: buffer_new/* buffer_new returns a new buffer */Buffer *buffer_new(size_t n) { Buffer *b; b = lmalloc(sizeof(Buffer)); b->off = 0; b->s = str_new(n); return b;}
开发者ID:simonz05,项目名称:ludis,代码行数:10,
示例4: show_helpstatic void show_help(struct menu *menu){ struct gstr help = str_new(); menu_get_ext_help(menu, &help); show_helptext(_(menu_get_prompt(menu)), str_get(&help)); str_free(&help);}
开发者ID:bradomyn,项目名称:wrpc-sw-p2p,代码行数:9,
示例5: dbox_get_cached_metadatastatic intdbox_get_cached_metadata(struct dbox_mail *mail, enum dbox_metadata_key key, enum index_cache_field cache_field, const char **value_r){ struct index_mail *imail = &mail->imail; struct index_mailbox_context *ibox = INDEX_STORAGE_CONTEXT(imail->mail.mail.box); const char *value; string_t *str; uint32_t order; str = str_new(imail->mail.data_pool, 64); if (mail_cache_lookup_field(imail->mail.mail.transaction->cache_view, str, imail->mail.mail.seq, ibox->cache_fields[cache_field].idx) > 0) { if (cache_field == MAIL_CACHE_POP3_ORDER) { i_assert(str_len(str) == sizeof(order)); memcpy(&order, str_data(str), sizeof(order)); str_truncate(str, 0); if (order != 0) str_printfa(str, "%u", order); else { /* order=0 means it doesn't exist. we don't want to return "0" though, because then the mails get ordered to beginning, while nonexistent are supposed to be ordered at the end. */ } } *value_r = str_c(str); return 0; } if (dbox_mail_metadata_get(mail, key, &value) < 0) return -1; if (value == NULL) value = ""; if (cache_field != MAIL_CACHE_POP3_ORDER) { index_mail_cache_add_idx(imail, ibox->cache_fields[cache_field].idx, value, strlen(value)+1); } else { if (str_to_uint(value, &order) < 0) order = 0; index_mail_cache_add_idx(imail, ibox->cache_fields[cache_field].idx, &order, sizeof(order)); } /* don't return pointer to dbox metadata directly, since it may change unexpectedly */ str_truncate(str, 0); str_append(str, value); *value_r = str_c(str); return 0;}
开发者ID:IvanKharpalev,项目名称:core,代码行数:56,
示例6: START_TESTEND_TESTSTART_TEST(test_str_add_file){ str_t *str = str_from_cstr("abc"); str_add_file(&str, "testdata/file.txt"); CHECK_STR(str, >= 13, == 13, "abc123456789/n"); str_free(str); str = str_new(0); str_add_file(&str, "testdata/file.txt"); CHECK_STR(str, >= 10, == 10, "123456789/n"); str_free(str); str = str_new(0); str_add_file(&str, "non-existent file"); CHECK_STR(str, == STR_DEFAULT_CAPACITY, == 0, ""); str_free(str);}
开发者ID:nsf,项目名称:lib99,代码行数:19,
示例7: show_helpstatic void show_help(struct menu *menu){ struct gstr help = str_new(); help.max_width = getmaxx(stdscr) - 10; menu_get_ext_help(menu, &help); show_helptext(_(menu_get_prompt(menu)), str_get(&help)); str_free(&help);}
开发者ID:Christopher83,项目名称:linaro_crosstool-ng,代码行数:10,
示例8: _scr_new_strstatic string_script * _scr_new_str(const char * source) { string_script * scr; if(0 == (scr = mem_alloc(sizeof(file_script)))) { goto error; } if(0 == (scr->s = str_new(source))) { goto error; } scr->pos = 0; return scr;error: _scr_del_str(scr); return 0;}
开发者ID:sproates,项目名称:ocarina,代码行数:10,
示例9: str_newnveBool str_newn(Str *str, char const* buf, size_t len){ str_new(str, len + 1, len + 1); if (str->error) return veFalse; memcpy(str->data, buf, len); str->data[len] = 0; str_added(str, len); return veTrue;}
开发者ID:jhofstee,项目名称:siwi2way,代码行数:10,
示例10: numbers/* Create a trivial CategoryMap, with feature types equal to category numbers (plus an optional prefix) and ranges all of size one. */CategoryMap* cm_create_trivial(int ncats, char *feature_prefix) { int i; CategoryMap *retval = cm_new(ncats); for (i = 0; i <= ncats; i++) { String *type = str_new(STR_SHORT_LEN); if (feature_prefix != NULL) str_append_charstr(type, feature_prefix); str_append_int(type, i); retval->ranges[i] = cm_new_category_range(type, i, i); } return retval;}
开发者ID:HanLabUNLV,项目名称:Phasterate,代码行数:13,
示例11: START_TESTEND_TESTSTART_TEST(append_chars_to_non_empty_string) { s = str_new("a"); const char *t = "a"; str_append_chars(s, t); ck_assert_msg(strcmp(s->str, "aa") == 0, "%s == %s", s->str, "aa"); ck_assert_msg(s->len == 2, "str's len member is %d", 2);}
开发者ID:fluks,项目名称:diceexpr,代码行数:11,
示例12: i_newstruct json_parser *json_parser_init(struct istream *input){ struct json_parser *parser; parser = i_new(struct json_parser, 1); parser->input = input; parser->value = str_new(default_pool, 128); i_array_init(&parser->nesting, 8); i_stream_ref(input); return parser;}
开发者ID:LTD-Beget,项目名称:dovecot,代码行数:11,
示例13: strm_str_newstrm_string*strm_str_new(const char *p, size_t len){ if (!strm_event_loop_started) { /* single thread mode */ if (p && (len < STRM_STR_INTERN_LIMIT || readonly_data_p(p))) { return str_intern(p, len); } } return str_new(p, len);}
开发者ID:msGenDev,项目名称:streem,代码行数:11,
示例14: DEFINE_init_module/*-----------------------------------------------------------------------------* Init functions*----------------------------------------------------------------------------*/DEFINE_init_module(){ input_buf = str_new(STR_SIZE); p = str_data(input_buf); input_stack = OBJ_NEW(List); input_stack->free_data = m_free_compat; init_sym(); utarray_new(scan_state, &ut_scan_state_icd);}
开发者ID:bitfixer,项目名称:bitfixer,代码行数:14,
示例15: get_relations_strstruct gstr get_relations_str(struct symbol **sym_arr){ struct symbol *sym; struct gstr res = str_new(); int i; for (i = 0; sym_arr && (sym = sym_arr[i]); i++) get_symbol_str(&res, sym); if (!i) str_append(&res, _("No matches found./n")); return res;}
开发者ID:Christopher83,项目名称:linaro_crosstool-ng,代码行数:12,
示例16: process_nodesstatic void process_nodes(VALUE out, OSMPBF__PrimitiveGroup *group, OSMPBF__StringTable *string_table, int64_t lat_offset, int64_t lon_offset, int64_t granularity, int32_t ts_granularity){ double lat = 0; double lon = 0; unsigned j = 0; size_t i = 0; for(i = 0; i < group->n_nodes; i++) { OSMPBF__Node *node = group->nodes[i]; VALUE node_out = rb_hash_new(); lat = NANO_DEGREE * (lat_offset + (node->lat * granularity)); lon = NANO_DEGREE * (lon_offset + (node->lon * granularity)); rb_hash_aset(node_out, STR2SYM("id"), LL2NUM(node->id)); rb_hash_aset(node_out, STR2SYM("lat"), FIX7(rb_float_new(lat))); rb_hash_aset(node_out, STR2SYM("lon"), FIX7(rb_float_new(lon))); if(node->info) add_info(node_out, node->info, string_table, ts_granularity); VALUE tags = rb_hash_new(); for(j = 0; j < node->n_keys; j++) { char *key = parse_binary_str(string_table->s[node->keys[j]]); char *value = parse_binary_str(string_table->s[node->vals[j]]); rb_hash_aset(tags, str_new(key), str_new(value)); free(key); free(value); } rb_hash_aset(node_out, STR2SYM("tags"), tags); rb_ary_push(out, node_out); }}
开发者ID:playtimestudios,项目名称:admin_bounds,代码行数:39,
示例17: mainintmain(int argc, char **argv) { str_t str; int ret; str = str_new(); ret = str_write_file(str, "out.txt"); ASSERT(ret, "str_write_file"); return 0; error: return -1;}
开发者ID:rendau,项目名称:rose,代码行数:14,
示例18: maildir_list_initstatic struct maildir_list_context *maildir_list_init(struct maildir_quota_root *root, struct mailbox_list *list){ struct maildir_list_context *ctx; ctx = i_new(struct maildir_list_context, 1); ctx->root = root; ctx->path = str_new(default_pool, 512); ctx->list = list; ctx->iter = mailbox_list_iter_init(list, "*", MAILBOX_LIST_ITER_SKIP_ALIASES | MAILBOX_LIST_ITER_RETURN_NO_FLAGS); return ctx;}
开发者ID:Distrotech,项目名称:dovecot,代码行数:14,
示例19: test_istream_teevoid test_istream_tee(void){ string_t *str; unsigned int i; str = str_new(default_pool, TEST_STR_LEN); for (i = 0; i < TEST_STR_LEN; i++) str_append_c(str, 'a' + i%26); test_istream_tee_tailing(str_c(str)); test_istream_tee_blocks(str_c(str)); str_free(&str);}
开发者ID:Distrotech,项目名称:dovecot,代码行数:14,
示例20: svec_copySVecsvec_copy( SVec ov ){ int i; SVec nv; nv = svec_new( ov->fSize ); for ( i=0 ; i < ov->fEntries ; i++ ) { svec_add( nv, str_new(ov->fV[i]) ); } return nv;}
开发者ID:mirguest,项目名称:cernlib,代码行数:14,
示例21: vformatint vformat(Str **str, const char *fmt, va_list ap){ int off, size; const char *p = fmt; char *item; Str *s; struct command cmd; cmd.argv = NULL; cmd.argc = 0; cmd.len = 0; off = 0; /* debug for(i = 0; p[i] != '/0'; i++) { printf("fmt + %d: %p - `%c`/n", i, &fmt[i], fmt[i]); } */ for(; *p != '/0'; p++) { /* debug */ /* printf("--> %c %p ", *p, p); */ if (*p == '%') { off += 2; switch(*++p) { case 'b': item = va_arg(ap, char *); size = va_arg(ap, size_t); break; case 's': item = va_arg(ap, char *); size = strlen(item); break; default: goto error; } s = str_new(size); s = str_append(s, item, size); /* debug */ /* printf("found %c ... ", *p); printf("%d ... ", size); printf("%s ... ", s->data); */ } else { if (*p == ' ') {
开发者ID:simonz05,项目名称:ludis,代码行数:50,
示例22: magnet_to_string/** * Create a string representation of the magnet resource. * * @return A newly allocated string via halloc(). */char *magnet_to_string(const struct magnet_resource *res){ GSList *sl; str_t *s; g_return_val_if_fail(res, NULL); s = str_new(0); if (res->display_name) { magnet_append_item(s, TRUE, "dn", res->display_name); } if (0 != res->size) { char buf[UINT64_DEC_BUFLEN]; uint64_to_string_buf(res->size, buf, sizeof buf); magnet_append_item(s, FALSE, "xl", buf); } if (res->sha1) { magnet_append_item(s, FALSE, "xt", bitprint_to_urn_string(res->sha1, res->tth)); } if (res->parq_id) { magnet_append_item(s, TRUE, "x.parq-id", res->parq_id); } if (res->vendor) { magnet_append_item(s, TRUE, "x.vndr", res->vendor); } if (res->guid) { magnet_append_item(s, TRUE, "x.guid", res->guid); } if (res->dht) { magnet_append_item(s, TRUE, "x.dht", "1"); } for (sl = res->sources; NULL != sl; sl = g_slist_next(sl)) { char *url; url = magnet_source_to_string(sl->data); magnet_append_item(s, TRUE, "xs", url); G_FREE_NULL(url); } for (sl = res->searches; NULL != sl; sl = g_slist_next(sl)) { magnet_append_item(s, TRUE, "kt", sl->data); } return str_s2c_null(&s);}
开发者ID:MrJoe,项目名称:gtk-gnutella,代码行数:55,
示例23: str_vnewf/** * sprintf with dynamic memory. * * @note the return value must be released! */void str_vnewf(Str *str, char const *format, va_list varArgs){ size_t length; /* get the length of the string */ length = str_printfLength(format, varArgs); str_new(str, length + 1, 100); if (str->error) return; /* now it can safely be formatted */ vsprintf(str->data, format, varArgs); str_added(str, length);}
开发者ID:jhofstee,项目名称:siwi2way,代码行数:19,
示例24: http_client_request_add_headervoid http_client_request_add_header(struct http_client_request *req, const char *key, const char *value){ i_assert(req->state == HTTP_REQUEST_STATE_NEW || /* allow calling for retries */ req->state == HTTP_REQUEST_STATE_GOT_RESPONSE || req->state == HTTP_REQUEST_STATE_ABORTED); /* mark presence of special headers */ switch (key[0]) { case 'a': case 'A': if (strcasecmp(key, "Authorization") == 0) req->have_hdr_authorization = TRUE; break; case 'c': case 'C': if (strcasecmp(key, "Connection") == 0) req->have_hdr_connection = TRUE; else if (strcasecmp(key, "Content-Length") == 0) req->have_hdr_body_spec = TRUE; break; case 'd': case 'D': if (strcasecmp(key, "Date") == 0) req->have_hdr_date = TRUE; break; case 'e': case 'E': if (strcasecmp(key, "Expect") == 0) req->have_hdr_expect = TRUE; break; case 'h': case 'H': if (strcasecmp(key, "Host") == 0) req->have_hdr_host = TRUE; break; case 'p': case 'P': i_assert(strcasecmp(key, "Proxy-Authorization") != 0); break; case 't': case 'T': if (strcasecmp(key, "Transfer-Encoding") == 0) req->have_hdr_body_spec = TRUE; break; case 'u': case 'U': if (strcasecmp(key, "User-Agent") == 0) req->have_hdr_user_agent = TRUE; break; } if (req->headers == NULL) req->headers = str_new(default_pool, 256); str_printfa(req->headers, "%s: %s/r/n", key, value);}
开发者ID:candrews,项目名称:core,代码行数:48,
示例25: i_newstruct json_parser *json_parser_init_flags(struct istream *input, enum json_parser_flags flags){ struct json_parser *parser; parser = i_new(struct json_parser, 1); parser->input = input; parser->flags = flags; parser->value = str_new(default_pool, 128); i_array_init(&parser->nesting, 8); i_stream_ref(input); if ((flags & JSON_PARSER_NO_ROOT_OBJECT) != 0) parser->state = JSON_STATE_VALUE; return parser;}
开发者ID:bechtoldt,项目名称:dovecot-core,代码行数:16,
示例26: mainint main(void){ int c; string str; if(str_new(&str, 255) == 0) return 1; while((c = getchar()) != EOF) { if(c == '/n'){ sort(&str); printf("%s/n-----/n", str.str); str_clean(&str); } else str_push(&str, c); } return 0;}
开发者ID:garretraziel,项目名称:guppy,代码行数:16,
示例27: SrcFile_initvoid SrcFile_init( SrcFile *self ){ strpool_init(); self->filename = NULL; self->line = str_new(STR_SIZE); self->line_stack = OBJ_NEW( List ); OBJ_AUTODELETE( self->line_stack ) = FALSE; self->line_stack->free_data = m_free_compat; self->file_stack = OBJ_NEW( List ); OBJ_AUTODELETE( self->file_stack ) = FALSE; self->file_stack->free_data = free_file_stack_elem;}
开发者ID:meesokim,项目名称:z88dk,代码行数:16,
注:本文中的str_new函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ str_prefix函数代码示例 C++ str_length函数代码示例 |