这篇教程C++ u_strcpy函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中u_strcpy函数的典型用法代码示例。如果您正苦于以下问题:C++ u_strcpy函数的具体用法?C++ u_strcpy怎么用?C++ u_strcpy使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了u_strcpy函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: check_N_not_FF//// returns 1 if the line is a N but not FF one//char check_N_not_FF(const struct dela_entry* d) {unichar t1[2];u_strcpy(t1,"N");unichar t2[3];u_strcpy(t2,"FF");return (char)(dic_entry_contain_gram_code(d,t1) && !(dic_entry_contain_gram_code(d,t2)));}
开发者ID:adri87,项目名称:Q-A,代码行数:10,
示例2: u_strchrunichar_t *u_GFileNormalize(unichar_t *name) { unichar_t *pt, *base, *ppt; if ( (pt = uc_strstr(name,"://"))!=NULL ) { base = u_strchr(pt+3,'/'); if ( base==NULL )return( name ); ++base; } else if ( *name=='/' ) base = name+1; else base = name; for ( pt=base; *pt!='/0'; ) { if ( *pt=='/' ) u_strcpy(pt,pt+1); else if ( uc_strncmp(pt,"./",2)==0 ) u_strcpy(pt,pt+2); else if ( uc_strncmp(pt,"../",2)==0 ) { for ( ppt=pt-2; ppt>=base && *ppt!='/'; --ppt ); ++ppt; if ( ppt>=base ) { u_strcpy(ppt,pt+3); pt = ppt; } else pt += 3; } else { while ( *pt!='/' && *pt!='/0' ) ++pt; if ( *pt == '/' ) ++pt; } }return( name );}
开发者ID:cyh7900,项目名称:fontforge,代码行数:32,
示例3: LoadDateQualifiers// Routine to load date qualifier strings from resources. Do not call before AfApp has m_hinst.void LoadDateQualifiers(){ if (g_fDoneDateQual) return; int i; for (i = 0; i < 5; i++) { StrUni stu(g_rgridDateQual1[i]); Assert(stu.Length() < knPrecLen); u_strcpy(g_rgchwPrecFull[i], stu.Chars()); StrAnsi sta(g_rgridDateQual1[i]); Assert(sta.Length() < knPrecLen); strcpy_s(g_rgchPrecFull[i], sta.Length(), sta.Chars()); } for (i = 0; i < 2; i++) { StrUni stu(g_rgridDateQual2[i]); Assert(stu.Length() < knAdBcLen); u_strcpy(g_rgchwBC_ADFull[i], stu.Chars()); StrAnsi sta(g_rgridDateQual2[i]); Assert(stu.Length() < knAdBcLen); strcpy_s(g_rgchBC_ADFull[i], sta.Length(), sta.Chars()); } for (i = 0; i < 3; i++) { StrUni stu(g_rgridDateBlank[i]); Assert(stu.Length() < knBlankLen); u_strcpy(g_rgchwBlankFull[i], stu.Chars()); StrAnsi sta(g_rgridDateBlank[i]); Assert(stu.Length() < knBlankLen); strcpy_s(g_rgchBlankFull[i], sta.Length(), sta.Chars()); } g_fDoneDateQual = true;}
开发者ID:agran147,项目名称:FieldWorks,代码行数:36,
示例4: Wordlist_advanceSelectedCharsByunichar_t* Wordlist_advanceSelectedCharsBy( SplineFont* sf, EncMap *map, unichar_t* txtu, int offset ){ unichar_t original_data[ PATH_MAX ]; static unichar_t ret[ PATH_MAX ]; int i = 0; u_strcpy( original_data, txtu ); TRACE("Wordlist_advanceSelectedCharsBy(1) %s/n", u_to_c( txtu )); WordlistTrimTrailingSingleSlash( txtu ); WordListLine wll = WordlistEscapedInputStringToParsedData( sf, txtu ); int selectedCount = WordListLine_countSelected( wll ); if( !selectedCount ) wll->isSelected = 1; memset( ret, 0, sizeof(unichar_t) * PATH_MAX ); for( i = 0; wll->sc; wll++, i++ ) { SplineChar* sc = wll->sc; int element_selected = wll->isSelected; if( element_selected ) { int pos = map->backmap[ sc->orig_pos ]; pos += offset; int gid = pos < 0 || pos >= map->enccount ? -2 : map->map[pos]; if( gid == -2 ) { // we can't find a glyph at the desired position. // so instead of dropping it we just do not perform the operation // on this char. pos -= offset; gid = pos < 0 || pos >= map->enccount ? -2 : map->map[pos]; if( gid == -2 ) { // we can't go back manually! u_strcpy( ret, original_data ); return ret; } } if( gid==-1 || !sf->glyphs[gid] ) sc = SFMakeChar( sf, map, pos ); else sc = sf->glyphs[gid]; } if( element_selected ) uc_strcat( ret, "[" ); /* uc_strcat( ret, "/" ); */ /* uc_strcat( ret, scarray[i]->name ); */ uc_strcat( ret, Wordlist_getSCName( sc )); if( element_selected ) uc_strcat( ret, "]" ); } return ret;}
开发者ID:jtanx,项目名称:fontforge,代码行数:60,
示例5: check_V_but_not_Y/** * Returns 1 if the given dictionary entry is a "V" one that does * not have the inflectional code "Y". */char check_V_but_not_Y(struct dela_entry* d) {unichar t1[2];u_strcpy(t1,"V");unichar t2[2];u_strcpy(t2,"Y");return dic_entry_contain_gram_code(d,t1) && (!dic_entry_contain_inflectional_code(d,t2));}
开发者ID:adri87,项目名称:Q-A,代码行数:11,
示例6: check_VW/** * Returns 1 if the given dictionary entry is a "V:W" one. */char check_VW(const struct dela_entry* d) {unichar t1[2];u_strcpy(t1,"V");unichar t2[2];u_strcpy(t2,"W");return dic_entry_contain_gram_code(d,t1) && dic_entry_contain_inflectional_code(d,t2);}
开发者ID:adri87,项目名称:Q-A,代码行数:10,
示例7: init_utags// names for affixes and rules can be choosen individually for each language// definition in "<language>Compounds.cpp"// struct _tags TAG and typedef tags declared in .h// unicode version of names:struct utags init_utags (tags T){ struct utags UTAG; u_strcpy(UTAG.PREFIX, T.PREFIX); u_strcpy(UTAG.SUFFIX, T.SUFFIX); u_strcpy(UTAG.RULE, T.RULE); return UTAG;}
开发者ID:adri87,项目名称:Q-A,代码行数:12,
示例8: copy_composition_rulestruct composition_rule* copy_composition_rule (struct composition_rule* a, struct composition_rule* b){ for (int i = 0; i < MAX_NUMBER_OF_COMPOSITION_RULES; i++) { u_strcpy(a->before[i].string, b->before[i].string); a->before[i].YesNo = b->before[i].YesNo; a->before[i].type = b->before[i].type; if (a->before[i].string[0] == '/0') break; } for (int i = 0; i < MAX_NUMBER_OF_COMPOSITION_RULES; i++) { u_strcpy(a->after[i].string, b->after[i].string); a->after[i].YesNo = b->after[i].YesNo; a->after[i].type = b->after[i].type; if (a->after[i].string[0] == '/0') break; } u_strcpy(a->then.add, b->then.add); u_strcpy(a->then.del, b->then.del); u_strcpy(a->then.repl, b->then.repl); u_strcpy(a->then.substr_act, b->then.substr_act); u_strcpy(a->then.substr_next, b->then.substr_next); u_strcpy(a->then.undo_substr_act, b->then.undo_substr_act); u_strcpy(a->then.undo_substr_next, b->then.undo_substr_next); return a;}
开发者ID:anukat2015,项目名称:unitex-core,代码行数:26,
示例9: subsequential_to_normal_transducer/** * This function moves outputs from final nodes to transitions leading to final nodes. */static void subsequential_to_normal_transducer(struct dictionary_node* root, struct dictionary_node* node, struct string_hash* inf_codes, int pos,unichar* z, Ustring* normalizedOutput) {struct dictionary_node_transition* tmp=node->trans;int prefix_set=0;Ustring* prefix=new_Ustring();while (tmp!=NULL) { z[pos]=tmp->letter; z[pos+1]='/0'; subsequential_to_normal_transducer(root,tmp->node,inf_codes,pos+1,z,normalizedOutput); /* First, if the destination state is final, we place its output on the output * of the current transition */ if (tmp->node->single_INF_code_list!=NULL) { //error("<%S>: output=<%S>/n",z,normalizedOutput->str); tmp->output=u_strdup(inf_codes->value[tmp->node->INF_code]); } if (normalizedOutput->len!=0) { /* Then, we add the normalized output obtained recursively, if any */ //error("<%S>: moving normalized output <%S>/n",z,normalizedOutput->str); if (tmp->output==NULL) { tmp->output=u_strdup(normalizedOutput->str); } else { tmp->output=(unichar*)realloc(tmp->output,sizeof(unichar)*(1+normalizedOutput->len+u_strlen(tmp->output))); } } if (!prefix_set) { prefix_set=1; u_strcpy(prefix,tmp->output); } else { get_longest_common_prefix(prefix,tmp->output); } tmp=tmp->next;}if (node==root || node->single_INF_code_list!=NULL) { /* If we are in the initial state or a final one, we let the transitions as they are, since * their outputs can not move more to the left */ z[pos]='/0'; free_Ustring(prefix); empty(normalizedOutput); return;}tmp=node->trans;while (tmp!=NULL) { //error("prefix removal: <%S> => ",tmp->output); remove_prefix(prefix->len,tmp->output); //error("<%S>/n",tmp->output); tmp=tmp->next;}z[pos]='/0';u_strcpy(normalizedOutput,prefix);free_Ustring(prefix);}
开发者ID:Rajat-dhyani,项目名称:UnitexGramLab,代码行数:58,
示例10: new_corpus_entry/** * Allocates, initializes and returns a new corpus_entry structure. */struct corpus_entry* new_corpus_entry(const unichar* line){struct corpus_entry* entry = (corpus_entry*)malloc(sizeof(corpus_entry));if(entry == NULL){ fatal_alloc_error("compute_corpus_entry");}/* we fill corpus entry with information extracted from the corpus line*/int pos = u_strrchr(line,'/');if(pos == -1){ fatal_error("Wrong format for line %S/n",line);}entry->word = (unichar*)malloc(sizeof(unichar)*(pos+1));if(entry->word == NULL){ fatal_alloc_error("compute_corpus_entry");}unichar* tmp = u_strcpy_sized(entry->word,pos+1,line);u_strcat(tmp,"/0");int code_pos = u_strrchr(line,':');/* there are no morphological codes associated to this entry */if(code_pos == -1){ entry->pos_code = (unichar*)malloc(sizeof(unichar)*(u_strlen(line)-pos)); if(entry->pos_code == NULL){ fatal_alloc_error("new_corpus_entry"); } u_strcpy(entry->pos_code,&line[pos+1]); entry->overall_codes = u_strdup(entry->pos_code);}else{ entry->pos_code = (unichar*)malloc(sizeof(unichar)*(code_pos-pos)); if(entry->pos_code == NULL){ fatal_alloc_error("new_corpus_entry"); } entry->overall_codes = (unichar*)malloc(sizeof(unichar)*(u_strlen(line)-pos)); if(entry->overall_codes == NULL){ fatal_alloc_error("new_corpus_entry"); } unichar* tmp2 = u_strcpy_sized(entry->pos_code,code_pos-pos,&line[pos+1]); u_strcat(tmp2,"/0"); u_strcpy(entry->overall_codes,&line[pos+1]);}/* if the token is not annotated in the corpus, we put "UNK" */if(u_strlen(entry->pos_code) == 0){ free(entry->pos_code); free(entry->overall_codes); entry->pos_code = u_strdup("UNK"); entry->overall_codes = u_strdup("UNK");}return entry;}
开发者ID:anukat2015,项目名称:unitex-core,代码行数:52,
示例11: unum_parseDoubleCurrencyU_CAPI double U_EXPORT2unum_parseDoubleCurrency(const UNumberFormat* fmt, const UChar* text, int32_t textLength, int32_t* parsePos, /* 0 = start */ UChar* currency, UErrorCode* status) { double doubleVal = 0.0; currency[0] = 0; if (U_FAILURE(*status)) { return doubleVal; } const UnicodeString src((UBool)(textLength == -1), text, textLength); ParsePosition pp; if (parsePos != NULL) { pp.setIndex(*parsePos); } *status = U_PARSE_ERROR; // assume failure, reset if succeed LocalPointer<CurrencyAmount> currAmt(((const NumberFormat*)fmt)->parseCurrency(src, pp)); if (pp.getErrorIndex() != -1) { if (parsePos != NULL) { *parsePos = pp.getErrorIndex(); } } else { if (parsePos != NULL) { *parsePos = pp.getIndex(); } if (pp.getIndex() > 0) { *status = U_ZERO_ERROR; u_strcpy(currency, currAmt->getISOCurrency()); doubleVal = currAmt->getNumber().getDouble(*status); } } return doubleVal;}
开发者ID:119120119,项目名称:node,代码行数:35,
示例12: load_tokens_by_freq/** * Loads the initial keyword list from a tok_by_freq.txt file, * and turns all those tokens in a list whose primary key is the * lower case token: * The/20 THE/2 the/50 => the->(The/20 THE/2 the/50) */struct string_hash_ptr* load_tokens_by_freq(char* name,VersatileEncodingConfig* vec) {U_FILE* f=u_fopen(vec,name,U_READ);if (f==NULL) return NULL;Ustring* line=new_Ustring(128);Ustring* lower=new_Ustring(128);struct string_hash_ptr* res=new_string_hash_ptr(1024);int val,pos;/* We skip the first line of the file, containing the number * of tokens */if (EOF==readline(line,f)) { fatal_error("Invalid empty file %s/n",name);}while (EOF!=readline(line,f)) { if (1!=u_sscanf(line->str,"%d%n",&val,&pos)) { fatal_error("Invalid line in file %s:/n%S/n",name,line->str); } u_strcpy(lower,line->str+pos); u_tolower(lower->str); int index=get_value_index(lower->str,res,INSERT_IF_NEEDED,NULL); if (index==-1) { fatal_error("Internal error in load_tokens_by_freq/n"); } KeyWord* value=(KeyWord*)res->value[index]; res->value[index]=new_KeyWord(val,line->str+pos,value);}free_Ustring(line);free_Ustring(lower);u_fclose(f);return res;}
开发者ID:Rajat-dhyani,项目名称:UnitexGramLab,代码行数:37,
示例13: load_compound_words/** * Loads a compound word file, adding each word to the keywords. */void load_compound_words(char* name,VersatileEncodingConfig* vec, struct string_hash_ptr* keywords) {U_FILE* f=u_fopen(vec,name,U_READ);if (f==NULL) return;Ustring* line=new_Ustring(256);Ustring* lower=new_Ustring(256);while (EOF!=readline(line,f)) { if (line->str[0]=='{') { /* We skip tags */ continue; } u_strcpy(lower,line->str); u_tolower(lower->str); int index=get_value_index(lower->str,keywords,INSERT_IF_NEEDED,NULL); if (index==-1) { fatal_error("Internal error in load_tokens_by_freq/n"); } KeyWord* value=(KeyWord*)keywords->value[index]; add_keyword(&value,line->str,1); keywords->value[index]=value;}free_Ustring(line);free_Ustring(lower);u_fclose(f);}
开发者ID:Rajat-dhyani,项目名称:UnitexGramLab,代码行数:28,
示例14: u_strlenconst UChar *ZNStringPool::get(const UChar *s, UErrorCode &status) { const UChar *pooledString; if (U_FAILURE(status)) { return &EmptyString; } pooledString = static_cast<UChar *>(uhash_get(fHash, s)); if (pooledString != NULL) { return pooledString; } int32_t length = u_strlen(s); int32_t remainingLength = POOL_CHUNK_SIZE - fChunks->fLimit; if (remainingLength <= length) { U_ASSERT(length < POOL_CHUNK_SIZE); if (length >= POOL_CHUNK_SIZE) { status = U_INTERNAL_PROGRAM_ERROR; return &EmptyString; } ZNStringPoolChunk *oldChunk = fChunks; fChunks = new ZNStringPoolChunk; if (fChunks == NULL) { status = U_MEMORY_ALLOCATION_ERROR; return &EmptyString; } fChunks->fNext = oldChunk; } UChar *destString = &fChunks->fStrings[fChunks->fLimit]; u_strcpy(destString, s); fChunks->fLimit += (length + 1); uhash_put(fHash, destString, destString, &status); return destString;}
开发者ID:00zhengfu00,项目名称:third_party,代码行数:34,
示例15: save_patternvoid save_pattern (pattern* patterns, bool YesNo, unichar type, const unichar* patt){ patterns->YesNo = YesNo; patterns->type = type; patterns->string[0] = '/0'; u_strcpy(patterns->string, patt);}
开发者ID:anukat2015,项目名称:unitex-core,代码行数:7,
示例16: u_strlen UINT64 *Uint64Comp::u_strdup(UINT64 *s) { int length = u_strlen(s) + 1; UINT64 *result = (UINT64*)malloc(length*sizeof(UINT64)); if (result == (UINT64*)0){return (UINT64*)0;} u_strcpy(result, s); return result; }
开发者ID:wangxuemin,项目名称:coding,代码行数:7,
示例17: demo_C_Unicode_stringsstatic void demo_C_Unicode_strings() { printf("/n* demo_C_Unicode_strings() --------- ***/n/n"); static const UChar text[]={ 0x41, 0x42, 0x43, 0 }; /* "ABC" */ static const UChar appendText[]={ 0x61, 0x62, 0x63, 0 }; /* "abc" */ static const UChar cmpText[]={ 0x61, 0x53, 0x73, 0x43, 0 }; /* "aSsC" */ UChar buffer[32]; int32_t compare; int32_t length=u_strlen(text); /* length=3 */ /* simple ANSI C-style functions */ buffer[0]=0; /* empty, NUL-terminated string */ u_strncat(buffer, text, 1); /* append just n=1 character ('A') */ u_strcat(buffer, appendText); /* buffer=="Aabc" */ length=u_strlen(buffer); /* length=4 */ printUString("should be /"Aabc/": ", buffer, -1); /* bitwise comparing buffer with text */ compare=u_strcmp(buffer, text); if(compare<=0) { printf("String comparison error, expected /"Aabc/" > /"ABC/"/n"); } /* Build "A<sharp s>C" in the buffer... */ u_strcpy(buffer, text); buffer[1]=0xdf; /* sharp s, case-compares equal to "ss" */ printUString("should be /"A<sharp s>C/": ", buffer, -1); /* Compare two strings case-insensitively using full case folding */ compare=u_strcasecmp(buffer, cmpText, U_FOLD_CASE_DEFAULT); if(compare!=0) { printf("String case insensitive comparison error, expected /"AbC/" to be equal to /"ABC/"/n"); }}
开发者ID:icu-project,项目名称:icu4c,代码行数:34,
示例18: make_alphabetUChar *make_alphabet(const UChar *source){ UChar *dest; int sourcelen = u_strlen(source); int x, y; dest = safe_calloc(sourcelen + 1, sizeof(UChar)); u_strcpy(dest, source); /* Very simple ripple sort as these are very short strings */ /* No advantage in using qsort() or similar */ for (x = 0; x < sourcelen - 1; x++) { for (y = x + 1; y < sourcelen ; y++) { if (dest[x] > dest[y]) { UChar temp; temp = dest[x]; dest[x] = dest[y]; dest[y] = temp; } } } x = y = 0; while (dest[x]) { if (dest[x] != dest[y]) dest[++y] = dest[x]; x++; } dest[++y] = dest[x]; return dest;}
开发者ID:LeandroLovisolo,项目名称:an,代码行数:34,
示例19: print_diff_matches/** * This function loads concordance lines from 'f1' and/or 'f2' and prints them to * 'output' in the given color. */void print_diff_matches(U_FILE* output,U_FILE* f1,U_FILE* f2,const char* color, unichar* match1,unichar* match2) {unichar left1[MAX_CONTEXT_IN_UNITS];unichar middle1[MAX_CONTEXT_IN_UNITS];unichar right1[MAX_CONTEXT_IN_UNITS];unichar indices1[MAX_CONTEXT_IN_UNITS];unichar left2[MAX_CONTEXT_IN_UNITS];unichar middle2[MAX_CONTEXT_IN_UNITS];unichar right2[MAX_CONTEXT_IN_UNITS];unichar indices2[MAX_CONTEXT_IN_UNITS];if (f1!=NULL) { read_concordance_line(f1,left1,middle1,right1,indices1,match1==NULL?0:u_strlen(match1));}if (f2!=NULL) { read_concordance_line(f2,left2,middle2,right2,indices2,match2==NULL?0:u_strlen(match2));}if (match1!=NULL) u_strcpy(middle1,match1);if (match2!=NULL) u_strcpy(middle2,match2);if (!strcmp(color,RED)) { /* If we have one match included in the another, we want to align * them. We do that by adjusting their left contexts */ int pos1,pos2; u_sscanf(indices1,"%d",&pos1); u_sscanf(indices2,"%d",&pos2); if (pos1<pos2) { adjust(left1,left2,middle1,pos2-pos1); } else if (pos1>pos2) { adjust(left2,left1,middle2,pos1-pos2); } /* Nothing to adjust if pos1==pos2 */}/* We print the line from the first file, if needed */u_fprintf(output,"<tr><td nowrap bgcolor=/"#FFE4C4/"><font color=/"%s/">",color);if (f1!=NULL) { u_fprintf(output,"%HS<a href=/"%S/" style=/"color:%s/">%HS</a>%HS",left1,indices1,color,middle1,right1);} else { u_fprintf(output," ");}u_fprintf(output,"</font></td></tr>/n");u_fprintf(output,"<tr><td nowrap bgcolor=/"#90EE90/"><font color=/"%s/">",color);/* We print the line from the second file, if needed */if (f2!=NULL) { u_fprintf(output,"%HS<a href=/"%S/" style=/"color:%s/">%HS</a>%HS",left2,indices2,color,middle2,right2);} else { u_fprintf(output," ");}u_fprintf(output,"</font></td></tr>/n");}
开发者ID:UnitexGramLab,项目名称:unitex-core,代码行数:51,
示例20: tokenize_DELA_line_into_3_parts/** * This function parses a DELAF line and stores in the appropriate parameters * the inflected form, the lemma and the codes. If there is no lemma, it takes * the value of the inflected form. All these strings are unprotected: * * "3/,14,.PI" => inflected="3,14" lemma="3,14" codes="PI" */void tokenize_DELA_line_into_3_parts(const unichar* line,unichar* inflected,unichar* lemma,unichar* codes) {int i,j;if (line==NULL) return;/* We read the inflected form */i=0;j=0;while (line[i]!='/0' && line[i]!=',') { if (line[i]=='//') { /* We unprotect chars */ i++; if (line[i]=='/0') { error("***Dictionary error: incorrect line/n%S/n",line); return; } } inflected[j++]=line[i++];}inflected[j]='/0';if (line[i]=='/0') { error("***Dictionary error: incorrect line/n%S/n",line); return;}/* We read the lemma */i++;j=0;while (line[i]!='/0' && line[i]!='.') { if (line[i]=='//') { i++; if (line[i]=='/0') { error("***Dictionary error: incorrect line/n%S/n",line); return; } } lemma[j++]=line[i++];}lemma[j]='/0';if (j==0) { /* If the lemma is not specified, we copy the inflected form */ u_strcpy(lemma,inflected);}if (line[i]=='/0') { error("***Dictionary error: incorrect line/n%S/n",line); return;}/* We read the remaining part of the line */i++;j=0;while (line[i]!='/0') { if (line[i]=='//') { i++; if (line[i]=='/0') { error("***Dictionary error: incorrect line/n%S/n",line); return; } } codes[j++]=line[i++];}codes[j]='/0';}
开发者ID:anukat2015,项目名称:unitex-core,代码行数:66,
示例21: Wordlist_selectionsEqualbool Wordlist_selectionsEqual( unichar_t* s1, unichar_t* s2 ){ static unichar_t s1stripped[ PATH_MAX ]; static unichar_t s2stripped[ PATH_MAX ]; int s1HasSelection = 0; int s2HasSelection = 0; u_strcpy( s1stripped, Wordlist_selectionStringOnly( s1, &s1HasSelection )); u_strcpy( s2stripped, Wordlist_selectionStringOnly( s2, &s2HasSelection )); if( s1HasSelection && !s2HasSelection ) return false; if( !s1HasSelection && s2HasSelection ) return false; return !u_strcmp( s1stripped, s2stripped );}
开发者ID:jtanx,项目名称:fontforge,代码行数:17,
示例22: check_A_right_component/** * Returns 1 if the line is a valid right "A" component. */char check_A_right_component(unichar* s) {/* We produce an artifical dictionary entry with the given INF code, * and then, we tokenize it in order to get grammatical and inflectional * codes in a structured way. */unichar temp[2000];u_strcpy(temp,"x,");u_strcat(temp,s);struct dela_entry* d=tokenize_DELAF_line(temp,0);unichar t1[2];u_strcpy(t1,"A");unichar t2[4];u_strcpy(t2,"sie");char res=dic_entry_contain_gram_code(d,t1) && !dic_entry_contain_inflectional_code(d,t2);/* We free the artifical dictionary entry */free_dela_entry(d);return res;}
开发者ID:adri87,项目名称:Q-A,代码行数:20,
示例23: LEXIC_trans_writevoid LEXIC_trans_write(Elag_fst_file_out * fstf, int to) { unichar label[8]; int idx; u_strcpy(label, "<MOT>"); idx=get_value_index(label,fstf->labels); u_fprintf(fstf->f, "%d %d ", idx, to); u_strcpy(label, "<!MOT>"); idx=get_value_index(label,fstf->labels); u_fprintf(fstf->f, "%d %d ", idx, to);}
开发者ID:UnitexGramLab,项目名称:unitex-core,代码行数:17,
示例24: u_strcpyCurrencyUnit& CurrencyUnit::operator=(const CurrencyUnit& other) { if (this == &other) { return *this; } MeasureUnit::operator=(other); u_strcpy(isoCode, other.isoCode); return *this;}
开发者ID:MIPS,项目名称:external-icu,代码行数:8,
示例25: adjust/** * Copies src into fst, and then appends the nth first chars of middle. */static void adjust(unichar* src,unichar* dst,unichar* middle,int n) {u_strcpy(dst,src);int pos=u_strlen(dst);for (int i=0;i<n;i++) { dst[pos++]=middle[i];}dst[pos]='/0';}
开发者ID:UnitexGramLab,项目名称:unitex-core,代码行数:11,
示例26: getcwdunichar_t *u_GFileGetAbsoluteName(unichar_t *name, unichar_t *result, int rsiz) { /* result may be the same as name */ unichar_t buffer[1000]; if ( ! u_GFileIsAbsolute(name) ) { unichar_t *pt, *spt, *rpt, *bpt; if ( dirname_[0]=='/0' ) { getcwd(dirname_,sizeof(dirname_)); } uc_strcpy(buffer,dirname_); if ( buffer[u_strlen(buffer)-1]!='/' ) uc_strcat(buffer,"/"); u_strcat(buffer,name); _u_backslash_to_slash(buffer); /* Normalize out any .. */ spt = rpt = buffer; while ( *spt!='/0' ) { if ( *spt=='/' ) ++spt; for ( pt = spt; *pt!='/0' && *pt!='/'; ++pt ); if ( pt==spt ) /* Found // in a path spec, reduce to / (we've*/ u_strcpy(spt,pt); /* skipped past the :// of the machine name) */ else if ( pt==spt+1 && spt[0]=='.' && *pt=='/' ) /* Noop */ u_strcpy(spt,spt+2); else if ( pt==spt+2 && spt[0]=='.' && spt[1]=='.' ) { for ( bpt=spt-2 ; bpt>rpt && *bpt!='/'; --bpt ); if ( bpt>=rpt && *bpt=='/' ) { u_strcpy(bpt,pt); spt = bpt; } else { rpt = pt; spt = pt; } } else spt = pt; } name = buffer; } if (result!=name) { u_strncpy(result,name,rsiz); result[rsiz-1]='/0'; _u_backslash_to_slash(result); }return(result);}
开发者ID:cyh7900,项目名称:fontforge,代码行数:46,
示例27: check_valid_right_component_for_one_INF_code_german//// returns 1 if the INF code refers to a valid right component, 0 else//char check_valid_right_component_for_one_INF_code_german(const unichar* s) {unichar temp[2000];u_strcpy(temp,"x,");u_strcat(temp,s);struct dela_entry* d=tokenize_DELAF_line(temp,0);char res=check_N_not_FF(d);free_dela_entry(d);return res;}
开发者ID:adri87,项目名称:Q-A,代码行数:12,
示例28: mallocunichar_t *u_GFileAppendFile(unichar_t *dir,unichar_t *name,int isdir) { unichar_t *ret, *pt; ret = (unichar_t *) malloc((u_strlen(dir)+u_strlen(name)+3)*sizeof(unichar_t)); u_strcpy(ret,dir); pt = ret+u_strlen(ret); if ( pt>ret && pt[-1]!='/' ) *pt++ = '/'; u_strcpy(pt,name); if ( isdir ) { pt += u_strlen(pt); if ( pt>ret && pt[-1]!='/' ) { *pt++ = '/'; *pt = '/0'; } }return(ret);}
开发者ID:cyh7900,项目名称:fontforge,代码行数:18,
示例29: TZEnumeration TZEnumeration(const char* country) : map(NULL), len(0), pos(0) { if (!getOlsonMeta()) { return; } UErrorCode ec = U_ZERO_ERROR; UResourceBundle *res = ures_openDirect(0, kZONEINFO, &ec); ures_getByKey(res, kREGIONS, res, &ec); if (U_SUCCESS(ec) && ures_getType(res) == URES_ARRAY) { UChar uCountry[] = {0, 0, 0, 0}; if (country) { u_charsToUChars(country, uCountry, 2); } else { u_strcpy(uCountry, WORLD); } // count matches int32_t count = 0; int32_t i; const UChar *region; for (i = 0; i < ures_getSize(res); i++) { region = ures_getStringByIndex(res, i, NULL, &ec); if (U_FAILURE(ec)) { break; } if (u_strcmp(uCountry, region) == 0) { count++; } } if (count > 0) { map = (int32_t*)uprv_malloc(sizeof(int32_t) * count); if (map != NULL) { int32_t idx = 0; for (i = 0; i < ures_getSize(res); i++) { region = ures_getStringByIndex(res, i, NULL, &ec); if (U_FAILURE(ec)) { break; } if (u_strcmp(uCountry, region) == 0) { map[idx++] = i; } } if (U_SUCCESS(ec)) { len = count; } else { uprv_free(map); map = NULL; } } else { U_DEBUG_TZ_MSG(("Failed to load tz for region %s: %s/n", country, u_errorName(ec))); } } } ures_close(res); }
开发者ID:hihihippp,项目名称:build-couchdb-1,代码行数:56,
示例30: check_is_valid_for_one_INF_codeint check_is_valid_for_one_INF_code(const unichar* t, const unichar* s){ unichar temp[MAX_DICT_LINE_LENGTH]; u_strcpy(temp,"x,"); u_strcat(temp,s); struct dela_entry* d = tokenize_DELAF_line(temp,0); int res = check_is_valid(t, d); free_dela_entry(d); return res;}
开发者ID:anukat2015,项目名称:unitex-core,代码行数:10,
注:本文中的u_strcpy函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ u_strdup函数代码示例 C++ u_strcmp函数代码示例 |