本文整理汇总了C++中rtrim函数的典型用法代码示例。如果您正苦于以下问题:C++ rtrim函数的具体用法?C++ rtrim怎么用?C++ rtrim使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了rtrim函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: NetlibHttpRecvHeaders
INT_PTR NetlibHttpRecvHeaders(WPARAM wParam, LPARAM lParam)
{
NetlibConnection *nlc = (struct NetlibConnection*)wParam;
if (!NetlibEnterNestedCS(nlc, NLNCS_RECV))
return 0;
char *peol, *pbuffer;
int headersCount = 0, bufferSize = 8192;
DWORD dwRequestTimeoutTime = GetTickCount() + HTTPRECVDATATIMEOUT;
NETLIBHTTPREQUEST *nlhr = (NETLIBHTTPREQUEST*)mir_calloc(sizeof(NETLIBHTTPREQUEST));
nlhr->cbSize = sizeof(NETLIBHTTPREQUEST);
nlhr->nlc = nlc; // Needed to id connection in the protocol HTTP gateway wrapper functions
nlhr->requestType = REQUEST_RESPONSE;
int firstLineLength = 0;
if (!HttpPeekFirstResponseLine(nlc, dwRequestTimeoutTime, lParam | MSG_PEEK, &nlhr->resultCode, &nlhr->szResultDescr, &firstLineLength)) {
NetlibLeaveNestedCS(&nlc->ncsRecv);
NetlibHttpFreeRequestStruct(0, (LPARAM)nlhr);
return 0;
}
char *buffer = (char*)mir_alloc(bufferSize + 1);
int bytesPeeked = NLRecv(nlc, buffer, min(firstLineLength, bufferSize), lParam | MSG_DUMPASTEXT);
if (bytesPeeked != firstLineLength) {
NetlibLeaveNestedCS(&nlc->ncsRecv);
NetlibHttpFreeRequestStruct(0, (LPARAM)nlhr);
if (bytesPeeked != SOCKET_ERROR) SetLastError(ERROR_HANDLE_EOF);
mir_free(buffer);
return 0;
}
// Make sure all headers arrived
bytesPeeked = 0;
for (bool headersCompleted = false; !headersCompleted;) {
if (bytesPeeked >= bufferSize) {
bufferSize += 8192;
mir_free(buffer);
if (bufferSize > 32 * 1024) {
bytesPeeked = 0;
break;
}
buffer = (char*)mir_alloc(bufferSize + 1);
}
bytesPeeked = RecvWithTimeoutTime(nlc, dwRequestTimeoutTime, buffer, bufferSize, MSG_PEEK | MSG_NODUMP | lParam);
if (bytesPeeked == 0)
break;
if (bytesPeeked == SOCKET_ERROR) {
bytesPeeked = 0;
break;
}
buffer[bytesPeeked] = 0;
for (pbuffer = buffer, headersCount = 0;; pbuffer = peol + 1, ++headersCount) {
peol = strchr(pbuffer, '\n');
if (peol == NULL) break;
if (peol == pbuffer || (peol == (pbuffer + 1) && *pbuffer == '\r')) {
bytesPeeked = peol - buffer + 1;
headersCompleted = true;
break;
}
}
}
// Receive headers
if (bytesPeeked > 0)
bytesPeeked = NLRecv(nlc, buffer, bytesPeeked, lParam | MSG_DUMPASTEXT);
if (bytesPeeked <= 0) {
NetlibLeaveNestedCS(&nlc->ncsRecv);
NetlibHttpFreeRequestStruct(0, (LPARAM)nlhr);
mir_free(buffer);
return 0;
}
buffer[bytesPeeked] = 0;
nlhr->headersCount = headersCount;
nlhr->headers = (NETLIBHTTPHEADER*)mir_calloc(sizeof(NETLIBHTTPHEADER) * headersCount);
for (pbuffer = buffer, headersCount = 0;; pbuffer = peol + 1, ++headersCount) {
peol = strchr(pbuffer, '\n');
if (peol == NULL || peol == pbuffer || (peol == (pbuffer + 1) && *pbuffer == '\r')) break;
*peol = 0;
char *pColon = strchr(pbuffer, ':');
if (pColon == NULL) {
NetlibHttpFreeRequestStruct(0, (LPARAM)nlhr); nlhr = NULL;
SetLastError(ERROR_INVALID_DATA);
break;
}
*(pColon++) = 0;
nlhr->headers[headersCount].szName = mir_strdup(rtrim(pbuffer));
nlhr->headers[headersCount].szValue = mir_strdup(lrtrimp(pColon));
}
NetlibLeaveNestedCS(&nlc->ncsRecv);
mir_free(buffer);
return (INT_PTR)nlhr;
//.........这里部分代码省略.........
开发者ID:kxepal,项目名称:miranda-ng,代码行数:101,代码来源:netlibhttp.cpp
示例2: trim
std::string trim(const std::string& a_Input, char l_ToTrim){
return ltrim(rtrim(a_Input, l_ToTrim), l_ToTrim);
}
开发者ID:Jasper-Bekkers,项目名称:krryn-ui,代码行数:3,代码来源:string_util.cpp
示例3: ltrim
std::string
ProgrammableOpAttributes::trim(const std::string &s)
{
return ltrim(rtrim(s));
}
开发者ID:HarinarayanKrishnan,项目名称:VisIt28RC_Trunk,代码行数:5,代码来源:ProgrammableOpAttributes.C
示例4: g_malloc
static GtkWidget *script_info_add(const char *path, const char *fname)
{
char *fullname;
ScriptInfo *si;
FILE *script;
int i;
char line[1024];
const char *str;
char *dot;
char *underscore;
GtkWidget *menuitem = NULL;
fullname = g_malloc(strlen(path)+strlen(fname)+2);
sprintf(fullname,"%s/%s",path,fname);
script = fopen(fullname,"r");
if (script)
{
si = (ScriptInfo *)g_malloc0(sizeof(ScriptInfo));
si->script_file = strdup(fname);
//rtrim(line); uninitialized yet
for (i=0; i<30; i++)
{
if (fgets(line,1024,script)==NULL) break;
rtrim(line);
if ((str=locate_after_prefix("@name",line))!=NULL)
{
si->script_name = g_strdup(str);
}
else if ((str=locate_after_prefix("@description",line))!=NULL)
{
si->script_description = g_strdup(str);
}
else if ((str=locate_after_prefix("@targets",line))!=NULL)
{
si->script_targeted_version = g_strdup(str);
}
}
fclose(script);
if (si->script_name==NULL)
{
si->script_name = g_strdup(fname);
dot = rindex(si->script_name,'.');
if (dot) *dot=0;
for (underscore=si->script_name; *underscore!=0; underscore++)
{
if (*underscore=='_') *underscore=' ';
}
}
si->prev = SCRIPTS;
SCRIPTS = si;
menuitem = gtk_menu_item_new_with_label(si->script_name);
if (si->script_description) gtk_widget_set_tooltip_text(menuitem,si->script_description);
g_signal_connect(GTK_WIDGET(menuitem),"activate",G_CALLBACK(menu_run_script_cb),si);
gtk_widget_show(menuitem);
}
else
{
log_printf(LOG_ERROR,"Failed to open %s for reading",fullname);
}
g_free(fullname);
return menuitem;
}
开发者ID:nuschpl,项目名称:cardpeek,代码行数:73,代码来源:gui_cardview.c
示例5: rtrim
char *trim(char *s)
{
return rtrim(ltrim(s));
}
开发者ID:mike-seger,项目名称:raop2_play,代码行数:4,代码来源:rtsp_client.c
示例6: ltrim
// trim from both ends
static inline std::string &trim(std::string &s) {
return ltrim(rtrim(s));
}
开发者ID:Mateuus,项目名称:newundead,代码行数:4,代码来源:main.cpp
示例7: assert
bool CLemWord::ProcessPlmLineForTheFirstHomonym(const char* sPlmLine, MorphLanguageEnum langua, int& OborotNo)
{
char buffer[CriticalGraphemLineLength*2];
assert (strlen(sPlmLine) < CriticalGraphemLineLength*2);
strcpy(buffer, sPlmLine);
char* strPlmLine = buffer;
// откусываю признаки конца строки, если они по¤вились
size_t iPlmLineLen = strlen(strPlmLine);
rtrim(strPlmLine,&iPlmLineLen);
size_t iFirstFieldLen = strcspn(strPlmLine," ");
char WordBuffer[CriticalTokenLength+1];
strncpy(WordBuffer, strPlmLine, iFirstFieldLen);
WordBuffer[iFirstFieldLen] = '\0';
SetWordStr(WordBuffer, langua);
size_t iSomeUnusefulDigitsLen = strspn(strPlmLine + iFirstFieldLen," -1234567890");
// reading file position of an item from graline
if (sscanf(strPlmLine + iFirstFieldLen, "%i %i", &m_GraphematicalUnitOffset, &m_TokenLengthInFile) != 2)
return false;
strPlmLine += iFirstFieldLen + iSomeUnusefulDigitsLen;
int MorphSectionOffset = ProcessGraphematicalDescriptors(strPlmLine);
if( m_bSpace )
return true;
CHomonym* pHomonym = AddNewHomonym();
if (HasDes(OEXPR1))
OborotNo = ParseOborotNo(m_UnparsedGraphemDescriptorsStr);
if (OborotNo != -1)
{
pHomonym->m_OborotNo = OborotNo;
pHomonym->m_bInOb = true;
pHomonym->m_bOborot1 = HasDes(OEXPR1);
pHomonym->m_bOborot2 = HasDes(OEXPR2);
}
if (HasDes(OEXPR2))
OborotNo = -1;
if( MorphSectionOffset == strlen(strPlmLine) )
pHomonym->SetLemma(m_strWord);
else
if (!pHomonym->ProcessLemmaAndGrammems(strPlmLine+MorphSectionOffset))
return false;
InitLevelSpecific(pHomonym);
if ( (m_strWord == "\"")
|| (m_strWord == "'")
)
DelDes(OPun);
if (pHomonym->m_LemSign != '+')
m_bPredicted = true;
return true;
}
开发者ID:eamosov,项目名称:lspl,代码行数:68,代码来源:LemWord.cpp
示例8: ltrim
char *trim(char *str) {
return ltrim(rtrim(str));
}
开发者ID:crawlingChaos,项目名称:dosbox-x,代码行数:3,代码来源:support.cpp
示例9: build_doctype
std::string GumboInterface::prettyprint(GumboNode* node, int lvl, const std::string indent_chars)
{
// special case the document node
if (node->type == GUMBO_NODE_DOCUMENT) {
std::string results = build_doctype(node);
results.append(prettyprint_contents(node,lvl+1,indent_chars));
return results;
}
std::string close = "";
std::string closeTag = "";
std::string atts = "";
std::string tagname = get_tag_name(node);
std::string parentname = get_tag_name(node->parent);
bool in_head = (parentname == "head");
// bool need_special_handling = in_set(special_handling, tagname);
bool is_empty_tag = in_set(empty_tags, tagname);
bool no_entity_substitution = in_set(no_entity_sub, tagname);
bool keep_whitespace = in_set(preserve_whitespace, tagname);
bool is_inline = in_set(nonbreaking_inline, tagname) && (parentname != "body");
bool is_structural = in_set(structural_tags, tagname);
bool pp_okay = !is_inline && !keep_whitespace;
char c = indent_chars.at(0);
int n = indent_chars.length();
// build attr string
const GumboVector * attribs = &node->v.element.attributes;
for (unsigned int i=0; i< attribs->length; ++i) {
GumboAttribute* at = static_cast<GumboAttribute*>(attribs->data[i]);
atts.append(build_attributes(at, no_entity_substitution));
}
// determine closing tag type
if (is_empty_tag) {
close = "/";
} else {
closeTag = "</" + tagname + ">";
}
std::string indent_space = std::string((lvl-1)*n,c);
std::string contents;
// prettyprint your contents
if (is_structural && tagname != "html") {
contents = prettyprint_contents(node, lvl+1, indent_chars);
} else {
contents = prettyprint_contents(node, lvl, indent_chars);
}
if (is_structural) {
rtrim(contents);
if (!contents.empty()) contents.append("\n");
}
// remove any leading or trailing whitespace form within paragraphs
if (tagname == "p") {
ltrim(contents);
rtrim(contents);
}
char last_char = ' ';
if (!contents.empty()) {
last_char = contents.at(contents.length()-1);
}
// build results
std::string results;
if (!is_inline && !in_set(nonbreaking_inline, parentname)) {
results.append(indent_space);
}
results.append("<"+tagname+atts+close+">");
if (pp_okay && is_structural && !contents.empty()) {
results.append("\n");
}
results.append(contents);
if (pp_okay && (last_char != '\n') && !contents.empty() && is_structural) {
results.append("\n");
}
// handle any indent before structural close tags
if (!is_inline && is_structural && !closeTag.empty() && !contents.empty()) {
results.append(indent_space);
}
results.append(closeTag);
if ((pp_okay || tagname =="br") && !in_set(nonbreaking_inline, parentname)) {
if (!in_head && tagname != "html") {
results.append("\n\n");
} else {
results.append("\n");
}
}
//.........这里部分代码省略.........
开发者ID:joyplug,项目名称:Sigil,代码行数:101,代码来源:GumboInterface.cpp
示例10: ltrim
inline std::string &trim(std::string &s, char x)
{
return ltrim(rtrim(s, x), x);
}
开发者ID:LTears,项目名称:practice,代码行数:4,代码来源:str_functs.hpp
示例11: do_command
static int do_command(char type, const char *command, const char *parameters, char *response)
{
char buffer[SMALLBUF];
int count, ret;
ser_flush_io(upsfd);
if (response) {
*response = '\0';
}
snprintf(buffer, sizeof(buffer), "~00%c%03d%s%s", type, (int)(strlen(command) + strlen(parameters)), command, parameters);
ret = ser_send_pace(upsfd, 10000, "%s", buffer);
if (ret <= 0) {
upsdebug_with_errno(3, "do_command: send [%s]", buffer);
return -1;
}
upsdebugx(3, "do_command: %d bytes sent [%s] -> OK", ret, buffer);
ret = ser_get_buf_len(upsfd, (unsigned char *)buffer, 4, 3, 0);
if (ret < 0) {
upsdebug_with_errno(3, "do_command: read");
return -1;
}
if (ret == 0) {
upsdebugx(3, "do_command: read -> TIMEOUT");
return -1;
}
buffer[ret] = '\0';
upsdebugx(3, "do_command: %d byted read [%s]", ret, buffer);
if (!strcmp(buffer, "~00D")) {
ret = ser_get_buf_len(upsfd, (unsigned char *)buffer, 3, 3, 0);
if (ret < 0) {
upsdebug_with_errno(3, "do_command: read");
return -1;
}
if (ret == 0) {
upsdebugx(3, "do_command: read -> TIMEOUT");
return -1;
}
buffer[ret] = '\0';
upsdebugx(3, "do_command: %d bytes read [%s]", ret, buffer);
count = atoi(buffer);
if (count >= MAX_RESPONSE_LENGTH) {
upsdebugx(3, "do_command: response exceeds expected size!");
return -1;
}
if (count && !response) {
upsdebugx(3, "do_command: response not expected!");
return -1;
}
if (count == 0) {
return 0;
}
ret = ser_get_buf_len(upsfd, (unsigned char *)response, count, 3, 0);
if (ret < 0) {
upsdebug_with_errno(3, "do_command: read");
return -1;
}
if (ret == 0) {
upsdebugx(3, "do_command: read -> TIMEOUT");
return -1;
}
response[ret] = '\0';
upsdebugx(3, "do_command: %d bytes read [%s]", ret, response);
/* Tripp Lite pads their string responses with spaces.
I don't like that, so I remove them. This is safe to
do with all responses for this protocol, so I just
do that here. */
rtrim(response, ' ');
return ret;
}
if (!strcmp(buffer, "~00A")) {
return 0;
}
return -1;
}
开发者ID:AlexLov,项目名称:nut,代码行数:92,代码来源:tripplitesu.c
示例12: trim
std::string & trim(std::string & str)
{
return ltrim(rtrim(str));
}
开发者ID:chakke,项目名称:zzz,代码行数:4,代码来源:Functions.cpp
示例13: update_topol
static void update_topol(const char *topinout, int p_num, int n_num,
const char *p_name, const char *n_name, char *grpname)
{
#define TEMP_FILENM "temp.top"
FILE *fpin, *fpout;
char buf[STRLEN], buf2[STRLEN], *temp, **mol_line = NULL;
int line, i, nsol, nmol_line, sol_line, nsol_last;
gmx_bool bMolecules;
printf("\nProcessing topology\n");
fpin = gmx_ffopen(topinout, "r");
fpout = gmx_ffopen(TEMP_FILENM, "w");
line = 0;
bMolecules = FALSE;
nmol_line = 0;
sol_line = -1;
nsol_last = -1;
while (fgets(buf, STRLEN, fpin))
{
line++;
strcpy(buf2, buf);
if ((temp = strchr(buf2, '\n')) != NULL)
{
temp[0] = '\0';
}
ltrim(buf2);
if (buf2[0] == '[')
{
buf2[0] = ' ';
if ((temp = strchr(buf2, '\n')) != NULL)
{
temp[0] = '\0';
}
rtrim(buf2);
if (buf2[strlen(buf2)-1] == ']')
{
buf2[strlen(buf2)-1] = '\0';
ltrim(buf2);
rtrim(buf2);
bMolecules = (gmx_strcasecmp(buf2, "molecules") == 0);
}
fprintf(fpout, "%s", buf);
}
else if (!bMolecules)
{
fprintf(fpout, "%s", buf);
}
else
{
/* Check if this is a line with solvent molecules */
sscanf(buf, "%s", buf2);
if (gmx_strcasecmp(buf2, grpname) == 0)
{
sol_line = nmol_line;
sscanf(buf, "%*s %d", &nsol_last);
}
/* Store this molecules section line */
srenew(mol_line, nmol_line+1);
mol_line[nmol_line] = strdup(buf);
nmol_line++;
}
}
gmx_ffclose(fpin);
if (sol_line == -1)
{
gmx_ffclose(fpout);
gmx_fatal(FARGS, "No line with moleculetype '%s' found the [ molecules ] section of file '%s'", grpname, topinout);
}
if (nsol_last < p_num+n_num)
{
gmx_ffclose(fpout);
gmx_fatal(FARGS, "The last entry for moleculetype '%s' in the [ molecules ] section of file '%s' has less solvent molecules (%d) than were replaced (%d)", grpname, topinout, nsol_last, p_num+n_num);
}
/* Print all the molecule entries */
for (i = 0; i < nmol_line; i++)
{
if (i != sol_line)
{
fprintf(fpout, "%s", mol_line[i]);
}
else
{
printf("Replacing %d solute molecules in topology file (%s) "
" by %d %s and %d %s ions.\n",
p_num+n_num, topinout, p_num, p_name, n_num, n_name);
nsol_last -= p_num + n_num;
if (nsol_last > 0)
{
fprintf(fpout, "%-10s %d\n", grpname, nsol_last);
}
if (p_num > 0)
{
fprintf(fpout, "%-15s %d\n", p_name, p_num);
}
if (n_num > 0)
{
fprintf(fpout, "%-15s %d\n", n_name, n_num);
//.........这里部分代码省略.........
开发者ID:ElsevierSoftwareX,项目名称:SOFTX-D-15-00003,代码行数:101,代码来源:gmx_genion.c
示例14: ltrim
std::string
ossfs::util::trim(const std::string &s)
{
return ltrim(rtrim(s));
}
开发者ID:sreadfox,项目名称:ossfs,代码行数:5,代码来源:util.cpp
示例15: main
int main(void) {
plan(60);
/* lowercase */
char test[100];
ok(lc(NULL) == NULL, "lc(NULL)");
strcpy(test, "Yes"); like(lc(test), "yes", "lc(yes)");
strcpy(test, "YES"); like(lc(test), "yes", "lc(YES)");
strcpy(test, "yeS"); like(lc(test), "yes", "lc(yeS)");
/* trim */
strcpy(test, " text "); like(ltrim(test), "text ", "ltrim()");
strcpy(test, " text "); like(rtrim(test), " text", "rtrim()");
strcpy(test, " text "); like(trim(test), "text", "trim()");
char *test2;
test2 = strdup(" text "); like(trim(test2), "text", "trim()");
free(test2);
/* parse_yes_or_no */
ok(parse_yes_or_no(NULL, GM_ENABLED) == GM_ENABLED, "parse_yes_or_no 1");
ok(parse_yes_or_no(NULL, GM_DISABLED) == GM_DISABLED, "parse_yes_or_no 2");
strcpy(test, ""); ok(parse_yes_or_no(test, GM_ENABLED) == GM_ENABLED, "parse_yes_or_no 3");
strcpy(test, ""); ok(parse_yes_or_no(test, GM_DISABLED) == GM_DISABLED, "parse_yes_or_no 4");
strcpy(test, "yes"); ok(parse_yes_or_no(test, GM_ENABLED) == GM_ENABLED, "parse_yes_or_no 5");
strcpy(test, "true"); ok(parse_yes_or_no(test, GM_ENABLED) == GM_ENABLED, "parse_yes_or_no 6");
strcpy(test, "Yes"); ok(parse_yes_or_no(test, GM_ENABLED) == GM_ENABLED, "parse_yes_or_no 7");
strcpy(test, "1"); ok(parse_yes_or_no(test, GM_ENABLED) == GM_ENABLED, "parse_yes_or_no 8");
strcpy(test, "On"); ok(parse_yes_or_no(test, GM_ENABLED) == GM_ENABLED, "parse_yes_or_no 9");
strcpy(test, "Off"); ok(parse_yes_or_no(test, GM_ENABLED) == GM_DISABLED, "parse_yes_or_no 10");
strcpy(test, "false"); ok(parse_yes_or_no(test, GM_ENABLED) == GM_DISABLED, "parse_yes_or_no 11");
strcpy(test, "no"); ok(parse_yes_or_no(test, GM_ENABLED) == GM_DISABLED, "parse_yes_or_no 12");
strcpy(test, "0"); ok(parse_yes_or_no(test, GM_ENABLED) == GM_DISABLED, "parse_yes_or_no 13");
/* trim */
ok(trim(NULL) == NULL, "trim(NULL)");
strcpy(test, " test "); like(trim(test), "^test$", "trim(' test ')");
strcpy(test, "\ntest\n"); like(trim(test), "^test$", "trim('\\ntest\\n')");
/* reading keys */
mod_gm_opt_t *mod_gm_opt;
mod_gm_opt = malloc(sizeof(mod_gm_opt_t));
int rc = set_default_options(mod_gm_opt);
ok(rc == 0, "setting default options");
mod_gm_opt->keyfile = strdup("t/data/test1.key");
read_keyfile(mod_gm_opt);
//printf_hex(mod_gm_opt->crypt_key, 32);
test[0]='\x0';
int i = 0;
char hex[4];
for(i=0; i<32; i++) {
hex[0] = '\x0';
snprintf(hex, 4, "%02x", mod_gm_opt->crypt_key[i]);
strncat(test, hex, 4);
}
like(test, "3131313131313131313131313131313131313131313131313131313131310000", "read keyfile t/data/test1.key");
free(mod_gm_opt->keyfile);
mod_gm_opt->keyfile = strdup("t/data/test2.key");
read_keyfile(mod_gm_opt);
like(mod_gm_opt->crypt_key, "abcdef", "reading keyfile t/data/test2.key");
free(mod_gm_opt->keyfile);
mod_gm_opt->keyfile = strdup("t/data/test3.key");
read_keyfile(mod_gm_opt);
//printf_hex(mod_gm_opt->crypt_key, 32);
like(mod_gm_opt->crypt_key, "11111111111111111111111111111111", "reading keyfile t/data/test3.key");
ok(strlen(mod_gm_opt->crypt_key) == 32, "key size for t/data/test3.key");
/* encrypt */
char * key = "test1234";
char * encrypted = malloc(GM_BUFFERSIZE);
char * text = "test message";
char * base = "a7HqhQEE8TQBde9uknpPYQ==";
mod_gm_crypt_init(key);
int len;
len = mod_gm_encrypt(&encrypted, text, GM_ENCODE_AND_ENCRYPT);
ok(len == 24, "length of encrypted only");
like(encrypted, base, "encrypted string");
/* decrypt */
char * decrypted = malloc(GM_BUFFERSIZE);
mod_gm_decrypt(&decrypted, encrypted, GM_ENCODE_AND_ENCRYPT);
like(decrypted, text, "decrypted text");
free(decrypted);
free(encrypted);
/* base 64 */
char * base64 = malloc(GM_BUFFERSIZE);
len = mod_gm_encrypt(&base64, text, GM_ENCODE_ONLY);
ok(len == 16, "length of encode only");
like(base64, "dGVzdCBtZXNzYWdl", "base64 only string");
/* debase 64 */
char * debase64 = malloc(GM_BUFFERSIZE);
mod_gm_decrypt(&debase64, base64, GM_ENCODE_ONLY);
//.........这里部分代码省略.........
开发者ID:jayKayEss,项目名称:mod_gearman,代码行数:101,代码来源:01-utils.c
示例16: ltrim
void StringUtil::atrim(std::wstring& str) {
ltrim(str);
rtrim(str);
}
开发者ID:gvsurenderreddy,项目名称:openulteo,代码行数:4,代码来源:StringUtil.cpp
示例17: trim
// trim from left & right
inline std::string& trim(std::string& s, const char* t = " \t\n\r\f\v")
{
return ltrim(rtrim(s, t), t);
}
开发者ID:molguin-qc,项目名称:xpress-apex,代码行数:5,代码来源:utils.hpp
示例18: trim
// trim from both ends
string& trim(string &s) {
return ltrim(rtrim(s));
}
开发者ID:dabrunhosa,项目名称:gvd,代码行数:4,代码来源:options.cpp
示例19: rtrim_copy
inline std::string rtrim_copy(std::string s, const char* t = " \t\n\r\f\v")
{
return rtrim(s, t);
}
开发者ID:molguin-qc,项目名称:xpress-apex,代码行数:4,代码来源:utils.hpp
示例20: trim
static std::string& trim(std::string &s)
{ return rtrim(ltrim(s)); }
开发者ID:juruen,项目名称:stdman,代码行数:2,代码来源:str.hpp
注:本文中的rtrim函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论