这篇教程C++ strappend函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中strappend函数的典型用法代码示例。如果您正苦于以下问题:C++ strappend函数的具体用法?C++ strappend怎么用?C++ strappend使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了strappend函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: OpenURIvoid OpenURI(std::string uri) {#if defined(WIN) ShellExecute(0, "OPEN", uri.c_str(), NULL, NULL, 0);#elif defined(MACOSX) char *cmd = (char*)malloc(7+uri.length()); strcpy(cmd, "open "); strappend(cmd, (char*)uri.c_str()); system(cmd);#elif defined(LIN) char *cmd = (char*)malloc(11+uri.length()); strcpy(cmd, "xdg-open "); strappend(cmd, (char*)uri.c_str()); system(cmd);#else printf("Cannot open browser/n");#endif}
开发者ID:Ebola-chan,项目名称:The-Powder-Toy,代码行数:17,
示例2: cd_globintcd_glob( char * glob, int verbose){ char *regex; char *regex_path; char *s; char *uqglob; int result; char *tpath_on_disk = NULL; if (disk_name == NULL) { g_printf(_("Must select disk before changing directory/n")); return 0; } uqglob = unquote_string(glob); regex = glob_to_regex(uqglob); dbprintf(_("cd_glob (%s) -> %s/n"), uqglob, regex); if ((s = validate_regexp(regex)) != NULL) { g_printf(_("/"%s/" is not a valid shell wildcard pattern: "), glob); puts(s); amfree(regex); amfree(uqglob); return 0; } /* * glob_to_regex() anchors the beginning of the pattern with ^, * but we will be tacking it onto the end of the current directory * in add_file, so strip that off. Also, it anchors the end with * $, but we need to match a trailing /, add it if it is not there */ regex_path = g_strdup(regex + 1); amfree(regex); if(regex_path[strlen(regex_path) - 2] != '/' ) { regex_path[strlen(regex_path) - 1] = '/0'; strappend(regex_path, "/$"); } /* convert path (assumed in cwd) to one on disk */ if (g_str_equal(disk_path, "/")) tpath_on_disk = g_strconcat("/", regex_path, NULL); else { char *clean_disk_tpath = clean_regex(disk_tpath, 0); tpath_on_disk = g_strjoin(NULL, clean_disk_tpath, "/", regex_path, NULL); amfree(clean_disk_tpath); } result = cd_dir(tpath_on_disk, uqglob, verbose); amfree(regex_path); amfree(tpath_on_disk); amfree(uqglob); return result;}
开发者ID:code-mx,项目名称:amanda,代码行数:58,
示例3: test_onestatic void test_one( const char *path, const char *interface, const char *member, const char *arg0, const char *match, bool good) { _cleanup_close_ int bus_ref = -1; _cleanup_free_ char *name = NULL, *bus_name = NULL, *address = NULL; _cleanup_bus_message_unref_ sd_bus_message *m = NULL; sd_bus *a, *b; int r; assert_se(asprintf(&name, "deine-mutter-%u", (unsigned) getpid()) >= 0); bus_ref = bus_kernel_create_bus(name, false, &bus_name); if (bus_ref == -ENOENT) exit(EXIT_TEST_SKIP); assert_se(bus_ref >= 0); address = strappend("kernel:path=", bus_name); assert_se(address); r = sd_bus_new(&a); assert_se(r >= 0); r = sd_bus_new(&b); assert_se(r >= 0); r = sd_bus_set_address(a, address); assert_se(r >= 0); r = sd_bus_set_address(b, address); assert_se(r >= 0); r = sd_bus_start(a); assert_se(r >= 0); r = sd_bus_start(b); assert_se(r >= 0); log_debug("match"); r = sd_bus_add_match(b, NULL, match, NULL, NULL); assert_se(r >= 0); log_debug("signal"); r = sd_bus_emit_signal(a, path, interface, member, "s", arg0); assert_se(r >= 0); r = sd_bus_process(b, &m); assert_se(r >= 0 && (good == !!m)); sd_bus_unref(a); sd_bus_unref(b);}
开发者ID:Mathnerd314,项目名称:systemd,代码行数:57,
示例4: arg_resolve_envstatic char*arg_resolve_env(const char *str){ char *resolved_str = NULL; char env_name[100]; const char *env_val; size_t alloced = 0; const char *i = str, *j; /* calculate required resolved_str size */ do { j = strstr(i, "$("); if (j != NULL) { if (j != i) { strnappend(&resolved_str, &alloced, i, j - i); i = j; } j = strchr(i + 2, ')'); if (j != NULL) { if (j - (i + 2) < 100) { strncpy(env_name, i + 2, j - (i + 2)); env_name[j - (i + 2)] = '/0'; #if !defined(_WIN32_WCE) env_val = getenv(env_name); if (env_val) strappend(&resolved_str, &alloced, env_val); #else env_val = 0; #endif } i = j + 1; } else { /* unclosed, copy and skip */ j = i + 2; strnappend(&resolved_str, &alloced, i, j - i); i = j; } } else { strappend(&resolved_str, &alloced, i); } } while(j != NULL); return resolved_str;}
开发者ID:QuinnEbert,项目名称:zedom8or,代码行数:44,
示例5: STRV_FOREACH STRV_FOREACH(p, files) { _cleanup_free_ char *buf, *f; size_t sz; assert_se(f = strappend(copy_dir, *p)); assert_se(access(f, F_OK) == 0); assert_se(read_full_file(f, &buf, &sz) == 0); assert_se(streq(buf, "file/n")); }
开发者ID:iamyooon,项目名称:systemd,代码行数:10,
示例6: button_openint button_open(Button *b) { char name[256], *p; struct epoll_event ev; int r; assert(b); if (b->fd >= 0) { close_nointr_nofail(b->fd); b->fd = -1; } p = strappend("/dev/input/", b->name); if (!p) return log_oom(); b->fd = open(p, O_RDWR|O_CLOEXEC|O_NOCTTY|O_NONBLOCK); free(p); if (b->fd < 0) { log_warning("Failed to open %s: %m", b->name); return -errno; } if (ioctl(b->fd, EVIOCGNAME(sizeof(name)), name) < 0) { log_error("Failed to get input name: %m"); r = -errno; goto fail; } zero(ev); ev.events = EPOLLIN; ev.data.u32 = FD_OTHER_BASE + b->fd; if (epoll_ctl(b->manager->epoll_fd, EPOLL_CTL_ADD, b->fd, &ev) < 0) { log_error("Failed to add to epoll: %m"); r = -errno; goto fail; } r = hashmap_put(b->manager->button_fds, INT_TO_PTR(b->fd + 1), b); if (r < 0) { log_error("Failed to add to hash map: %s", strerror(-r)); assert_se(epoll_ctl(b->manager->epoll_fd, EPOLL_CTL_DEL, b->fd, NULL) == 0); goto fail; } log_info("Watching system buttons on /dev/input/%s (%s)", b->name, name); return 0;fail: close_nointr_nofail(b->fd); b->fd = -1; return r;}
开发者ID:intgr,项目名称:systemd,代码行数:55,
示例7: vfstraceShmLock/*** Shared-memory operations.*/static int vfstraceShmLock(sqlite3_file *pFile, int ofst, int n, int flags){ vfstrace_file *p = (vfstrace_file *)pFile; vfstrace_info *pInfo = p->pInfo; int rc; char zLck[100]; int i = 0; memcpy(zLck, "|0", 3); if( flags & SQLITE_SHM_UNLOCK ) strappend(zLck, &i, "|UNLOCK"); if( flags & SQLITE_SHM_LOCK ) strappend(zLck, &i, "|LOCK"); if( flags & SQLITE_SHM_SHARED ) strappend(zLck, &i, "|SHARED"); if( flags & SQLITE_SHM_EXCLUSIVE ) strappend(zLck, &i, "|EXCLUSIVE"); if( flags & ~(0xf) ){ sqlite3_snprintf(sizeof(zLck)-i, &zLck[i], "|0x%x", flags); } vfstrace_printf(pInfo, "%s.xShmLock(%s,ofst=%d,n=%d,%s)", pInfo->zVfsName, p->zFName, ofst, n, &zLck[1]); rc = p->pReal->pMethods->xShmLock(p->pReal, ofst, n, flags); vfstrace_print_errcode(pInfo, " -> %s/n", rc); return rc;}
开发者ID:77songsong,项目名称:sqlite3,代码行数:23,
示例8: vfstraceSync/*** Sync an vfstrace-file.*/static int vfstraceSync(sqlite3_file *pFile, int flags){ vfstrace_file *p = (vfstrace_file *)pFile; vfstrace_info *pInfo = p->pInfo; int rc; int i; char zBuf[100]; memcpy(zBuf, "|0", 3); i = 0; if( flags & SQLITE_SYNC_FULL ) strappend(zBuf, &i, "|FULL"); else if( flags & SQLITE_SYNC_NORMAL ) strappend(zBuf, &i, "|NORMAL"); if( flags & SQLITE_SYNC_DATAONLY ) strappend(zBuf, &i, "|DATAONLY"); if( flags & ~(SQLITE_SYNC_FULL|SQLITE_SYNC_DATAONLY) ){ sqlite3_snprintf(sizeof(zBuf)-i, &zBuf[i], "|0x%x", flags); } vfstrace_printf(pInfo, "%s.xSync(%s,%s)", pInfo->zVfsName, p->zFName, &zBuf[1]); rc = p->pReal->pMethods->xSync(p->pReal, flags); vfstrace_printf(pInfo, " -> %d/n", rc); return rc;}
开发者ID:77songsong,项目名称:sqlite3,代码行数:23,
示例9: add_matchesstatic int add_matches(sd_journal *j, char **args) { char **i; int r; assert(j); STRV_FOREACH(i, args) { if (streq(*i, "+")) r = sd_journal_add_disjunction(j); else if (path_is_absolute(*i)) { char *p; const char *path; struct stat st; p = canonicalize_file_name(*i); path = p ? p : *i; if (stat(path, &st) < 0) { free(p); log_error("Couldn't stat file: %m"); return -errno; } if (S_ISREG(st.st_mode) && (0111 & st.st_mode)) { char *t; t = strappend("_EXE=", path); if (!t) { free(p); log_error("Out of memory"); return -ENOMEM; } r = sd_journal_add_match(j, t, 0); free(t); } else { free(p); log_error("File is not a regular file or is not executable: %s", *i); return -EINVAL; } free(p); } else r = sd_journal_add_match(j, *i, 0); if (r < 0) { log_error("Failed to add match '%s': %s", *i, strerror(-r)); return r; } } return 0;}
开发者ID:adsr,项目名称:systemd,代码行数:54,
示例10: assertchar *unit_dbus_path_from_name(const char *name) { _cleanup_free_ char *e = NULL; assert(name); e = bus_label_escape(name); if (!e) return NULL; return strappend("/org/freedesktop/systemd1/unit/", e);}
开发者ID:Keruspe,项目名称:systemd,代码行数:11,
示例11: ic_program_str/* ::cortex::ic::program::str() */cx_string ic_program_str(ic_program _this) {/* $begin(::cortex::ic::program::str) */ cx_string result = NULL;#ifdef CX_IC_TRACING result = strappend(result, "%%file %s/n", _this->filename); result = ic_scope_str(_this->scope, result);#endif return result;/* $end */}
开发者ID:jeffplourde,项目名称:cortex,代码行数:12,
示例12: assertchar *image_bus_path(const char *name) { _cleanup_free_ char *e = NULL; assert(name); e = bus_label_escape(name); if (!e) return NULL; return strappend("/org/freedesktop/machine1/image/", e);}
开发者ID:AlexBaranosky,项目名称:systemd,代码行数:11,
示例13: parse_hl_lineschar* parse_hl_lines() { char* lines = NULL; if ((token = yylex()) == NORMAL_O_BRACE) { while (token != NORMAL_C_BRACE) { if ((token = yylex()) == NUMBER) { lines = strappend(lines,string); if ((token = yylex()) == COMMA) { lines = strappend(lines,","); } } else { fprintf(stderr, "[%d] Listing mode: Number expected, but %s /"%s/" found/n", yylineno, get_token_name(token), yytext); return NULL; } } } return lines;}
开发者ID:rju,项目名称:slp,代码行数:20,
示例14: parse_properties/* * parse properties */char* parse_properties() { char *result = NULL; while ((token = yylex()) != SQUARE_C_BRACE) { switch (token) { case PROPERTY: result = strappend(result,string); break; case COMMA: result = strappend(result,","); break; case SQUARE_C_BRACE: break; default: fprintf(stderr, "[%d] Figure mode, property sequence: Missing ]. Found '%s'/n", yylineno,get_token_name(token)); return NULL; } } return result;}
开发者ID:rju,项目名称:slp,代码行数:24,
示例15: get_default_res_pathstatic char* get_default_res_path(void) { char *res;#ifdef TAISEI_BUILDCONF_RELATIVE_DATA_PATH res = SDL_GetBasePath(); strappend(&res, TAISEI_BUILDCONF_DATA_PATH);#else res = strdup(TAISEI_BUILDCONF_DATA_PATH);#endif return res;}
开发者ID:laochailan,项目名称:taisei,代码行数:12,
示例16: read_signature_legacystatic void read_signature_legacy(const char *uname, int offset, char *buffer, size_t size){ char *out = buffer; size_t remain = size; strappend(&out, &remain, "/n--/n"); if (offset <= 0) return; char file[HOMELEN]; sethomefile(file, uname, "signatures"); FILE *fp = fopen(file, "r"); if (!fp) return; char buf[256]; for (int i = (offset - 1) * MAXSIGLINES; i > 0; --i) { if (!fgets(buf, sizeof(buf), fp)) { fclose(fp); return; } } int blank = 0; for (int i = 0; i < MAXSIGLINES; ++i) { if (!fgets(buf, sizeof(buf), fp)) break; if (buf[0] == '/n' || streq(buf, "/r/n")) { ++blank; } else { while (blank-- > 0) strappend(&out, &remain, "/n"); blank = 0; //% ": C++ strategy函数代码示例 C++ stralloc_copys函数代码示例
|