您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ strappend函数代码示例

51自学网 2021-06-03 08:27:05
  C++
这篇教程C++ strappend函数代码示例写得很实用,希望能帮到您。

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

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

示例1: OpenURI

void 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_glob

intcd_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_one

static 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_env

static 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_open

int 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_matches

static 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: assert

char *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: assert

char *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_lines

char* 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_path

static 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_legacy

static 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函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。