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

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

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

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

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

示例1: sadd

struct sint sadd(const struct sint *a, const struct sint *b) {  struct sint r, acp = *a, bcp = *b;  strim(&acp);  strim(&bcp);  for (int i = 0; i < MAX_DIGITS; i++)    r.digits[i] = '0';  r.digits[MAX_DIGITS] = '/0';    int lena = strlen(acp.digits);  int lenb = strlen(bcp.digits);  int carry = 0;  for (int i = 0; i < MAX_DIGITS; ++i) {    int cur = 0;    if (i < lena)      cur += acp.digits[lena - 1 - i] - '0';    if (i < lenb)      cur += bcp.digits[lenb - 1 - i] - '0';    cur += carry;    carry = cur / 10;    cur %= 10;    r.digits[MAX_DIGITS - 1 - i] = '0' + cur;  }    strim(&r);  return r;}
开发者ID:kunalkhamar,项目名称:Project-Euler,代码行数:26,


示例2: bcm47xx_get_invariants

static int bcm47xx_get_invariants(struct ssb_bus *bus,				  struct ssb_init_invariants *iv){	char buf[20];	int len, err;	/* Fill boardinfo structure */	memset(&iv->boardinfo, 0 , sizeof(struct ssb_boardinfo));	len = bcm47xx_nvram_getenv("boardvendor", buf, sizeof(buf));	if (len > 0) {		err = kstrtou16(strim(buf), 0, &iv->boardinfo.vendor);		if (err)			pr_warn("Couldn't parse nvram board vendor entry with value /"%s/"/n",				buf);	}	if (!iv->boardinfo.vendor)		iv->boardinfo.vendor = SSB_BOARDVENDOR_BCM;	len = bcm47xx_nvram_getenv("boardtype", buf, sizeof(buf));	if (len > 0) {		err = kstrtou16(strim(buf), 0, &iv->boardinfo.type);		if (err)			pr_warn("Couldn't parse nvram board type entry with value /"%s/"/n",				buf);	}	memset(&iv->sprom, 0, sizeof(struct ssb_sprom));	bcm47xx_fill_sprom(&iv->sprom, NULL, false);	if (bcm47xx_nvram_getenv("cardbus", buf, sizeof(buf)) >= 0)		iv->has_cardbus_slot = !!simple_strtoul(buf, NULL, 10);	return 0;}
开发者ID:0-T-0,项目名称:ps4-linux,代码行数:35,


示例3: va_start

/* * read_file_line - read a line from a file * * Used to compose a filename from a printf format and to read a line from this * file. All leading and trailing whitespaces (including line endings) are * removed. The returned buffer must be freed with free(). This function is * supposed for reading variable like content into a buffer, so files > 1024 * bytes are ignored. */char *read_file_line(const char *fmt, ...){	va_list args;	char *filename;	char *buf, *line = NULL;	size_t size;	int ret;	struct stat s;	va_start(args, fmt);	filename = bvasprintf(fmt, args);	va_end(args);	ret = stat(filename, &s);	if (ret)		goto out;	if (s.st_size > 1024)		goto out;	buf = read_file(filename, &size);	if (!buf)		goto out;	line = strim(buf);	line = xstrdup(line);	free(buf);out:	free(filename);	return line;}
开发者ID:masahir0y,项目名称:barebox-yamada,代码行数:41,


示例4: mprIsVersionObjAcceptable

/*    Test if the version is acceptable based on the supplied critera.    The acceptable formats for criteria are:    VER                             Allows prereleases    1.2.[*xX]                       Wild card version portion. (allows prereleases).    ~VER                            Compatible with VER at the least significant level.                                    ~1.2.3 == (>=1.2.3 <1.3.0) Compatible at the patch level                                    ~1.2 == 1.2.x   Compatible at the minor level                                    ~1 == 1.x   Compatible at the major level    ^VER                            Compatible with VER at the most significant level.                                    ^0.2.3 == 0.2.3 <= VER < 0.3.0                                    ^1.2.3 == 1.2.3 <= VER < 2.0.0    [>, >=, <, <=, ==, !=]VER       Create range relative to given version    EXPR1 - EXPR2                   <=EXPR1 <=EXPR2    EXPR1 || EXPR2 ...              EXPR1 OR EXPR2    EXPR1 && EXPR2 ...              EXPR1 AND EXPR2    EXPR1 EXPR2 ...                 EXPR1 AND EXPR2    Pre-release versions will only match if the criteria contains a "-.*" prerelease suffix*/PUBLIC bool mprIsVersionObjAcceptable(MprVersion *vp, cchar *criteria){    char        *expr, *exprTok, *range, *rangeTok, *low, *high;    bool        allMatched;    if (!vp->ok) {        return 0;    }    if (!criteria || *criteria == '/0') {        return 1;    }    criteria = cleanVersion(criteria);    for (range = (char*) criteria; stok(range, "||", &rangeTok) != 0; range = rangeTok) {        range = strim(range, " /t", 0);        allMatched = 1;        for (expr = (char*) range; sptok(expr, "&&", &exprTok) != 0; expr = exprTok) {            if (scontains(expr, " - ")) {                low = sptok(expr, " - ", &high);                return inRange(vp, sjoin(">=", low, NULL)) && inRange(vp, sjoin("<=", high, NULL));            }            if (!inRange(vp, expr)) {                allMatched = 0;                break;            }        }        if (allMatched) {            return 1;        }    }    return 0;}
开发者ID:DavionKnight,项目名称:RtFileSystem,代码行数:52,


示例5: table_write

static ssize_t table_write(struct file *file,	const char __user *userbuf, size_t count, loff_t *ppos){	char buf[80];	int table_idx;	unsigned int cpu_freq;	int core_cap_level;	if (sizeof(buf) <= count)		return -EINVAL;	if (copy_from_user(buf, userbuf, count))		return -EFAULT;	/* terminate buffer and trim - white spaces may be appended	 *  at the end when invoked from shell command line */	buf[count] = '/0';	strim(buf);	if (sscanf(buf, "[%d] = %u %d",		   &table_idx, &cpu_freq, &core_cap_level) != 3)		return -1;	if ((table_idx < 0) || (table_idx >= ARRAY_SIZE(throttle_table)))		return -EINVAL;	/* round new settings before updating table */	throttle_table[table_idx].cpu_freq = clip_to_table(cpu_freq);	throttle_table[table_idx].core_cap_level = (core_cap_level / 50) * 50;	return count;}
开发者ID:kozmikkick,项目名称:eternityprj-kernel-endeavoru-128,代码行数:32,


示例6: layoutIsStale

/*    Check if the layout has changed. Returns false if the layout does not exist. */static bool layoutIsStale(EspRoute *eroute, cchar *source, cchar *module){    char    *data, *lpath, *quote;    cchar   *layout, *layoutsDir;    ssize   len;    bool    stale;    int     recompile;    stale = 0;    layoutsDir = httpGetDir(eroute->route, "LAYOUTS");    if ((data = mprReadPathContents(source, &len)) != 0) {        if ((lpath = scontains(data, "@ layout /"")) != 0) {            lpath = strim(&lpath[10], " ", MPR_TRIM_BOTH);            if ((quote = schr(lpath, '"')) != 0) {                *quote = '/0';            }            layout = (layoutsDir && *lpath) ? mprJoinPath(layoutsDir, lpath) : 0;        } else {            layout = (layoutsDir) ? mprJoinPath(layoutsDir, "default.esp") : 0;        }        if (layout) {            stale = espModuleIsStale(layout, module, &recompile);            if (stale) {                mprLog("info esp", 4, "esp layout %s is newer than module %s", layout, module);            }        }    }    return stale;}
开发者ID:armagardon,项目名称:esp,代码行数:32,


示例7: consumer_unregister_store

static ssize_t consumer_unregister_store(const char *s, size_t count){	char name[SYSEDP_NAME_LEN];	size_t n;	struct sysedp_consumer *consumer;	n = count > SYSEDP_NAME_LEN - 1 ? SYSEDP_NAME_LEN - 1 : count;	strncpy(name, s, n);	name[n] = 0;	consumer = sysedp_get_consumer(strim(name));	if (!consumer)		return -EINVAL;	if (!consumer->removable)		return -EINVAL;	sysedp_unregister_consumer(consumer);	kfree(consumer->states);	kfree(consumer->ocpeaks);	kfree(consumer);	return count;}
开发者ID:Lloir,项目名称:nvidia-linux-3.10,代码行数:25,


示例8: direct_entry

/* Special entry to just crash directly. Available without KPROBEs */static ssize_t direct_entry(struct file *f, const char __user *user_buf,		size_t count, loff_t *off){	enum ctype type;	char *buf;	if (count >= PAGE_SIZE)		return -EINVAL;	if (count < 1)		return -EINVAL;	buf = (char *)__get_free_page(GFP_KERNEL);	if (!buf)		return -ENOMEM;	if (copy_from_user(buf, user_buf, count)) {		free_page((unsigned long) buf);		return -EFAULT;	}	/* NULL-terminate and remove enter */	buf[count] = '/0';	strim(buf);	type = parse_cp_type(buf, count);	free_page((unsigned long) buf);	if (type == CT_NONE)		return -EINVAL;	pr_info("Performing direct entry %s/n", cp_type_to_str(type));	lkdtm_do_action(type);	*off += count;	return count;}
开发者ID:crseanpaul,项目名称:muon-catalyzed-fusion,代码行数:34,


示例9: do_register_entry

static ssize_t do_register_entry(enum cname which, struct file *f,		const char __user *user_buf, size_t count, loff_t *off){	char *buf;	int err;	if (count >= PAGE_SIZE)		return -EINVAL;	buf = (char *)__get_free_page(GFP_KERNEL);	if (!buf)		return -ENOMEM;	if (copy_from_user(buf, user_buf, count)) {		free_page((unsigned long) buf);		return -EFAULT;	}	/* NULL-terminate and remove enter */	buf[count] = '/0';	strim(buf);	cptype = parse_cp_type(buf, count);	free_page((unsigned long) buf);	if (cptype == CT_NONE)		return -EINVAL;	err = lkdtm_register_cpoint(which);	if (err < 0)		return err;	*off += count;	return count;}
开发者ID:crseanpaul,项目名称:muon-catalyzed-fusion,代码行数:34,


示例10: set_otg_mode

static ssize_tset_otg_mode(struct device *dev, struct device_attribute *attr,				const char *buf, size_t count){	struct mv_otg *mvotg = dev_get_drvdata(dev);	char *usage = "Usage: $echo host/client to switch otg mode";	char buff[16], *b;	BUG_ON(mvotg != the_transceiver);	strncpy(buff, buf, sizeof(buff));	b = strim(buff);	pr_info("OTG state is %s/n", state_string[mvotg->otg.state]);	if (!strcmp(b, "host")) {		if (mvotg->otg.state == OTG_STATE_B_PERIPHERAL) {			pr_err("Failed to swich mode, pls don't connect to PC!/n");			return count;		}		otg_force_host_mode = 1;	} else if (!strcmp(b, "client")) {		otg_force_host_mode = 0;	} else {		pr_err("%s/n", usage);		return count;	}	mv_otg_run_state_machine(mvotg, 0);	return count;}
开发者ID:Akheon23,项目名称:chromecast-mirrored-source.kernel,代码行数:28,


示例11: diag224_idx2name

static int diag224_idx2name(int index, char *name){	memcpy(name, diag224_cpu_names + ((index + 1) * DIAG204_CPU_NAME_LEN),	       DIAG204_CPU_NAME_LEN);	name[DIAG204_CPU_NAME_LEN] = 0;	strim(name);	return 0;}
开发者ID:01org,项目名称:thunderbolt-software-kernel-tree,代码行数:8,


示例12: AGITool_Init

int AGITool_Init(AGI_TOOLS *tool){	char buffer[1024], *field, *value;		// open stdin	tool->in = stdin;		// open stdout	tool->out = stdout;		/*    * Often contains any/all of the following:    *   agi_network - value is yes if this is a fastagi    *   agi_network_script - name of the script to execute    *   agi_request - name of agi script    *   agi_channel - current channel    *   agi_language - current language    *   agi_type - channel type (SIP, ZAP, IAX, ...)    *   agi_uniqueid - unique id based on unix time    *   agi_callerid - callerID string    *   agi_dnid - dialed number id    *   agi_rdnis - referring DNIS number    *   agi_context - current context    *   agi_extension - extension dialed    *   agi_priority - current priority    *   agi_enhanced - value is 1.0 if started as an EAGI script    *   agi_accountcode - set by SetAccount in the dialplan    */		// read the request	tool->agi_vars=tool->settings=NULL;		if ( fgets(buffer,sizeof(buffer),stdin) ) {		while(strcmp(buffer, "/n") != 0) {			field=buffer;			value=strchr(buffer,':');			if (value) {				value[0]=0;				value+=2;				strim(value);				tool->agi_vars = AGITool_ListAddItem(tool->agi_vars, field,value);			}				if ( !fgets(buffer,sizeof(buffer),stdin) ) {				// if failed, may have lost pipe, but sigpipe is blocked.				break;			}		}	}		// These could be configured in an ini...	tool->settings = AGITool_ListAddItem(tool->settings, "tmpdir","/tmp/");	tool->settings = AGITool_ListAddItem(tool->settings, "festival_text2wave","text2wave");	tool->settings = AGITool_ListAddItem(tool->settings, "cepstral_swift","swift");	return 0;}
开发者ID:Open-Transport,项目名称:synthese,代码行数:58,


示例13: strim

/** * hname_tail - find the last component of an hname * @name: hname to find the base profile name component of  (NOT NULL) * * Returns: the tail (base profile name) name component of an hname */static const char *hname_tail(const char *hname){	char *split;	hname = strim((char *)hname);	for (split = strstr(hname, "//"); split; split = strstr(hname, "//"))		hname = split + 2;	return hname;}
开发者ID:OESF,项目名称:linux-linaro-natty,代码行数:15,


示例14: websProcessUploadData

PUBLIC bool websProcessUploadData(Webs *wp){    char    *line, *nextTok;    ssize   len, nbytes;    bool    canProceed;    line = 0;    canProceed = 1;     while (canProceed && !wp->finalized && wp->uploadState != UPLOAD_CONTENT_END) {        if  (wp->uploadState == UPLOAD_BOUNDARY || wp->uploadState == UPLOAD_CONTENT_HEADER) {            /*                Parse the next input line             */            line = wp->input.servp;            if ((nextTok = memchr(line, '/n', bufLen(&wp->input))) == 0) {                /* Incomplete line */                canProceed = 0;                break;            }            *nextTok++ = '/0';            nbytes = nextTok - line;            websConsumeInput(wp, nbytes);            strim(line, "/r", WEBS_TRIM_END);            len = strlen(line);            if (line[len - 1] == '/r') {                line[len - 1] = '/0';            }        }        switch (wp->uploadState) {        case 0:            initUpload(wp);            break;        case UPLOAD_BOUNDARY:            processContentBoundary(wp, line);            break;        case UPLOAD_CONTENT_HEADER:            processUploadHeader(wp, line);            break;        case UPLOAD_CONTENT_DATA:            canProceed = processContentData(wp);            if (bufLen(&wp->input) < wp->boundaryLen) {                /*  Incomplete boundary - return to get more data */                canProceed = 0;            }            break;        case UPLOAD_CONTENT_END:            break;        }    }    bufCompact(&wp->input);    return canProceed;}
开发者ID:EMali2HF,项目名称:goahead,代码行数:56,


示例15: main

int main(void) {	char in = 0;	int digit = 0;	struct sint current;	struct sint max;	max.digits[0]=0;	struct sint min;	for (int i=0; i<51; i++){		min.digits[i]='9';	}	struct sint acc;	acc.digits[0]=0;		while (scanf("%c", &in)!=EOF){		if (in > '9' || in < '0'){			current.digits[digit] = 0;			acc = sadd(&current, &acc);			if (scomp(&current, &max)==1) {				max = current;			}			if (scomp(&min, &current)==1) {				min = current;			}			digit = 0;			for (int i=0; i<51; i++){				current.digits[i]=0;			}		}		else {			current.digits[digit] = in;			digit++;		}	}	strim(&min);	strim(&max);	strim(&acc);	printf("min:%s/n", min.digits);	printf("max:%s/n", max.digits);	printf("sum:%s/n", acc.digits);}
开发者ID:LookLikeAPro,项目名称:CS136AtUW,代码行数:40,


示例16: part_hdr__part_name

static inline void part_hdr__part_name(enum diag204_format type, void *hdr,				       char *name){	if (type == DIAG204_INFO_SIMPLE)		memcpy(name, ((struct diag204_part_hdr *)hdr)->part_name,		       DIAG204_LPAR_NAME_LEN);	else /* DIAG204_INFO_EXT */		memcpy(name, ((struct diag204_x_part_hdr *)hdr)->part_name,		       DIAG204_LPAR_NAME_LEN);	EBCASC(name, DIAG204_LPAR_NAME_LEN);	name[DIAG204_LPAR_NAME_LEN] = 0;	strim(name);}
开发者ID:01org,项目名称:thunderbolt-software-kernel-tree,代码行数:13,


示例17: strim

static char *cleanVersion(cchar *version) {    char    *cp;    cp = strim(version, " /tv=", 0);    if (schr(cp, 'X')) {        cp = sreplace(cp, "X", "x");    }    if (schr(cp, '*')) {        cp = sreplace(cp, "*", "x");    }    return cp;}
开发者ID:DavionKnight,项目名称:RtFileSystem,代码行数:13,


示例18: edp_reg_override_write

static int edp_reg_override_write(struct file *file,	const char __user *userbuf, size_t count, loff_t *ppos){	char buf[32], *end;	unsigned int edp_reg_override_mA_temp;	unsigned int edp_reg_override_mA_prev = edp_reg_override_mA;	if (sizeof(buf) <= count)		goto override_err;	if (copy_from_user(buf, userbuf, count))		goto override_err;	/* terminate buffer and trim - white spaces may be appended	 *  at the end when invoked from shell command line */	buf[count]='/0';	strim(buf);	edp_reg_override_mA_temp = simple_strtoul(buf, &end, 10);	if (*end != '/0')		goto override_err;	if (edp_reg_override_mA_temp >= regulator_cur)		goto override_err;	if (edp_reg_override_mA == edp_reg_override_mA_temp)		return count;	edp_reg_override_mA = edp_reg_override_mA_temp;	if (init_cpu_edp_limits_calculated()) {		/* Revert to previous override value if new value fails */		edp_reg_override_mA = edp_reg_override_mA_prev;		goto override_err;	}	if (tegra_cpu_set_speed_cap(NULL)) {		pr_err("FAILED: Set CPU freq cap with new VDD_CPU EDP table/n");		goto override_out;	}	pr_info("Reinitialized VDD_CPU EDP table with regulator current limit"			" %u mA/n", regulator_cur - edp_reg_override_mA);	return count;override_err:	pr_err("FAILED: Reinitialize VDD_CPU EDP table with override /"%s/"",	       buf);override_out:	return -EINVAL;}
开发者ID:Shaky156,项目名称:Tegra-Note-7,代码行数:51,


示例19: mc96fr1196c_ir_send_store

static ssize_t mc96fr1196c_ir_send_store(struct device *dev,		struct device_attribute *attr, const char *buf, size_t size){	struct mc96fr116c_data *data = dev_get_drvdata(dev);	unsigned int value;	char *string, *pstring;	int signal_length = 2; /* By default, 2 bytes for data length */	int ir_sum = 0;	int number_freq = 0;	int ret;	if (data->mode != MC96FR116C_USER_IR_MODE) {		dev_err(&data->client->dev, "%s: Not user IR mode./n",				__func__);		return -EINVAL;	}	if (!mutex_trylock(&data->signal_mutex))		return -EBUSY;	string = (char*)kmalloc(size + 1, GFP_KERNEL);	strlcpy(string, buf, size);	pstring = strim(string);	while (pstring) {		char *curr_string;		curr_string = strsep(&pstring, " ,");		if (*curr_string == '/0')			continue;		ret = kstrtouint(curr_string, 0, &value);		if (!value)			break;		if (ret < 0) {			dev_err(dev, "Error: Invalid argument. Could not convert./n");			goto out;		}		if (signal_length == 2) {			data->carrier_freq = value;			data->signal[2] = (value >> 16) & 0xFF;			data->signal[3] = (value >> 8) & 0xFF;			data->signal[4] = value & 0xFF;			signal_length += 3;		} else {
开发者ID:cm-3470,项目名称:android_kernel_samsung_degaslte,代码行数:48,


示例20: match

/*    Match a keyword in the content returned from the last request    Format is:        KEYWORD = value */bool match(MprTestGroup *gp, char *key, char *value){    char    *vp, *trim;    vp = lookupValue(gp, key);    if (vp == 0 && value == 0) {        return 1;    }    trim = strim(vp, "/"", MPR_TRIM_BOTH);    if (vp == 0 || value == 0 || scmp(trim, value) != 0) {        mprLog("appweb test match", 0, "Match %s failed. Got /"%s/" expected /"%s/"", key, vp, value);        mprLog("appweb test match", 0, "Content %s", gp->content);        return 0;    }    return 1;}
开发者ID:cwhis,项目名称:appweb,代码行数:21,


示例21: int_to_ext_kekl

static void int_to_ext_kekl(struct tape3592_kekl *in,			    struct tape390_kekl *out){	memset(out, 0, sizeof(*out));	if(in->flags & 0x40)		out->type = TAPE390_KEKL_TYPE_HASH;	else		out->type = TAPE390_KEKL_TYPE_LABEL;	if(in->flags & 0x80)		out->type_on_tape = TAPE390_KEKL_TYPE_HASH;	else		out->type_on_tape = TAPE390_KEKL_TYPE_LABEL;	memcpy(out->label, in->label, sizeof(in->label));	EBCASC(out->label, sizeof(in->label));	strim(out->label);}
开发者ID:Adjustxx,项目名称:Savaged-Zen,代码行数:16,


示例22: __split_insert_one_part

static inline bool __split_insert_one_part(char *subject, char *begin, int32_t len, split_node_t *split_node, bool need_strim){    bool insert_ok = false;    /* begin, len */    split_node->part_len = len;    if (likely(need_strim)) {        begin = strim(begin, &(split_node->part_len));    }    if (PTR_NOT_NULL(begin) && split_node->part_len > 0) {        split_node->begin_offset = begin - subject;        insert_ok = true;    }    return insert_ok;}
开发者ID:caidongyun,项目名称:backup,代码行数:17,


示例23: __alt_name_store

static ssize_t __alt_name_store(struct device *dev, const char *buf,		const size_t len){	char *input, *pos, *alt_name, **ns_altname;	ssize_t rc;	if (is_namespace_pmem(dev)) {		struct nd_namespace_pmem *nspm = to_nd_namespace_pmem(dev);		ns_altname = &nspm->alt_name;	} else if (is_namespace_blk(dev)) {		struct nd_namespace_blk *nsblk = to_nd_namespace_blk(dev);		ns_altname = &nsblk->alt_name;	} else		return -ENXIO;	if (dev->driver || to_ndns(dev)->claim)		return -EBUSY;	input = kmemdup(buf, len + 1, GFP_KERNEL);	if (!input)		return -ENOMEM;	input[len] = '/0';	pos = strim(input);	if (strlen(pos) + 1 > NSLABEL_NAME_LEN) {		rc = -EINVAL;		goto out;	}	alt_name = kzalloc(NSLABEL_NAME_LEN, GFP_KERNEL);	if (!alt_name) {		rc = -ENOMEM;		goto out;	}	kfree(*ns_altname);	*ns_altname = alt_name;	sprintf(*ns_altname, "%s", pos);	rc = len;out:	kfree(input);	return rc;}
开发者ID:Kirill2013,项目名称:kasan,代码行数:45,


示例24: do_readf

static int do_readf(int argc, char *argv[]){	unsigned char *buf = NULL, *val;	char *variable, *filename;	struct stat s;	size_t size;	int ret, i;	if (argc != 3)		return COMMAND_ERROR_USAGE;	filename = argv[1];	variable = argv[2];	ret = stat(filename, &s);	if (ret)		goto out;	if (s.st_size > 1024) {		ret = -EFBIG;		goto out;	}	buf = read_file(filename, &size);	if (!buf)		goto out;	for (i = 0; i < size; i++) {		if (!isprint(buf[i])) {			buf[i] = '/0';			break;		}	}	val = strim(buf);	ret = setenv(variable, val);out:	free(buf);	return ret;}
开发者ID:AubrCool,项目名称:barebox,代码行数:42,


示例25: read_string_list

ssize_t read_string_list(const char *buf, const char * const list[]){	size_t i;	char *s, *d = strdup(buf);	if (!d)		return -ENOMEM;	s = strim(d);	for (i = 0; list[i]; i++)		if (!strcmp(list[i], s))			break;	free(d);	if (!list[i])		return -EINVAL;	return i;}
开发者ID:Shopify,项目名称:bcache-tools,代码行数:20,


示例26: matchAnyCase

/*    Match a keyword an ignore case for windows */bool matchAnyCase(MprTestGroup *gp, char *key, char *value){    char    *vp, *trim;    vp = lookupValue(gp, key);    if (vp == 0 && value == 0) {        return 1;    }    trim = strim(vp, "/"", MPR_TRIM_BOTH);#if BIT_WIN_LIKE    if (vp == 0 || scaselesscmp(trim, value) != 0)#else    if (vp == 0 || value == 0 || scmp(trim, value) != 0)#endif    {        mprLog("appweb test match", 0, "Match %s failed. Got %s expected %s", key, vp, value);        return 0;    }    return 1;}
开发者ID:cwhis,项目名称:appweb,代码行数:23,


示例27: strim

/** * aa_split_fqname - split a fqname into a profile and namespace name * @fqname: a full qualified name in namespace profile format (NOT NULL) * @ns_name: pointer to portion of the string containing the ns name (NOT NULL) * * Returns: profile name or NULL if one is not specified * * Split a namespace name from a profile name (see policy.c for naming * description).  If a portion of the name is missing it returns NULL for * that portion. * * NOTE: may modify the @fqname string.  The pointers returned point *       into the @fqname string. */char *aa_split_fqname(char *fqname, char **ns_name){	char *name = strim(fqname);	*ns_name = NULL;	if (name[0] == ':') {		char *split = strchr(&name[1], ':');		*ns_name = skip_spaces(&name[1]);		if (split) {			/* overwrite ':' with /0 */			*split = 0;			name = skip_spaces(split + 1);		} else			/* a ns name without a following profile is allowed */			name = NULL;	}	if (name && *name == 0)		name = NULL;	return name;}
开发者ID:33d,项目名称:linux-2.6.21-hh20,代码行数:35,


示例28: iso_res_realize_store

static ssize_t iso_res_realize_store(struct device *dev,		struct device_attribute *attr, const char *buf, size_t size){	unsigned int bw;	unsigned int ult = 4;	char buff[50];	char *val, *s;	int ret;	struct tegra_bbc_proxy *bbc = dev_get_drvdata(dev);	strlcpy(buff, buf, sizeof(buff));	s = strim(buff);	/* first param is bw */	val = strsep(&s, ",");	ret = kstrtouint(val, 10, &bw);	if (ret) {		pr_err("invalid bw setting/n");		return -EINVAL;	}	/* second param is latency */	if (s) {		ret = kstrtouint(s, 10, &ult);		if (ret) {			pr_err("invalid latency setting/n");			return -EINVAL;		}	}	mutex_lock(&bbc->iso_lock);	bbc->last_bw = bw;	bbc->last_ult = ult;	ret = bbc_bw_request_unlocked(dev, 0, bw, ult, bbc->margin);	mutex_unlock(&bbc->iso_lock);	return ret ? ret : size;}
开发者ID:Packmaan7144,项目名称:kernel_nvidia_s8515,代码行数:40,


示例29: console

/*      Read input from the console (stdin) */static int consoleGets(EcStream *stream){    char    prompt[MPR_MAX_STRING], *line, *cp;    int     level;    if (stream->flags & EC_STREAM_EOL) {        return 0;    }    level = stream->compiler->state ? stream->compiler->state->blockNestCount : 0;    fmt(prompt, sizeof(prompt), "%s-%d> ", EJS_NAME, level);    mprYield(MPR_YIELD_STICKY);    line = readline(prompt);    mprResetYield();    if (line == NULL) {        stream->eof = 1;        mprPrintf("/n");        return -1;    }    cp = strim(line, "/r/n", MPR_TRIM_BOTH);    ecSetStreamBuf(stream, cp, slen(cp));    stream->flags |= EC_STREAM_EOL;    return (int) slen(cp);}
开发者ID:satanupup,项目名称:appweb,代码行数:27,


示例30: init_fssuper

static int __init init_fssuper(void) {	struct super_block *sb;	struct block_device *bdev = NULL;		printk(KERN_INFO "Start module from here/t");	if(dev == NULL) {		printk(KERN_ERR "Device not specified");		return 0;	} 		bdev = lookup_bdev(strim(dev));		if(IS_ERR(bdev)) {			if(bdev == ERR_PTR(-EBUSY)) 			printk(KERN_ERR "Device busy/t");			printk(KERN_ERR "Couldn't lock device <%ld>", PTR_ERR(bdev));		return 0;	}		sb = get_super(bdev);	bdput(bdev);		if(IS_ERR(sb)) {		printk(KERN_ERR "Can't load sb <%ld>", PTR_ERR(sb));		return 0;	}		printk(KERN_INFO "Sucessfuly loaded sb, uuid %x /t", *(sb->s_uuid));	printk(KERN_INFO "File system : %s /t", sb->s_type->name);	printk(KERN_INFO "Device: %x, super %x", bdev, sb);	return 0;}
开发者ID:paulina-szubarczyk,项目名称:master,代码行数:36,



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


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