Linux evo.fastest-server.com 5.14.0-284.1101.el9.tuxcare.11.els11.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 14 13:30:35 UTC 2026 x86_64
LiteSpeed
Server IP : 103.249.112.113 & Your IP : 216.73.217.135
Domains : 988 Domain
User : tanishks
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
libicu-devel /
samples /
break /
Delete
Unzip
Name
Size
Permission
Date
Action
Makefile
627
B
-rw-r--r--
2020-04-22 20:04
break.cpp
4.12
KB
-rw-r--r--
2020-04-22 20:04
break.sln
1.17
KB
-rw-r--r--
2020-04-22 20:04
break.vcxproj
9.08
KB
-rw-r--r--
2020-04-22 20:04
break.vcxproj.filters
968
B
-rw-r--r--
2020-04-22 20:04
readme.txt
2.21
KB
-rw-r--r--
2020-04-22 20:04
ubreak.c
3.93
KB
-rw-r--r--
2020-04-22 20:04
Save
Rename
/* ******************************************************************************* * * © 2016 and later: Unicode, Inc. and others. * License & terms of use: http://www.unicode.org/copyright.html#License * ******************************************************************************* ******************************************************************************* * * Copyright (C) 2002-2003, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* */ #include <stdio.h> #include <unicode/brkiter.h> #include <stdlib.h> using namespace icu; U_CFUNC int c_main(void); void printUnicodeString(const UnicodeString &s) { char charBuf[1000]; s.extract(0, s.length(), charBuf, sizeof(charBuf)-1, 0); charBuf[sizeof(charBuf)-1] = 0; printf("%s", charBuf); } void printTextRange( BreakIterator& iterator, int32_t start, int32_t end ) { CharacterIterator *strIter = iterator.getText().clone(); UnicodeString s; strIter->getText(s); printf(" %ld %ld\t", (long)start, (long)end); printUnicodeString(UnicodeString(s, 0, start)); printf("|"); printUnicodeString(UnicodeString(s, start, end-start)); printf("|"); printUnicodeString(UnicodeString(s, end)); puts(""); delete strIter; } /* Print each element in order: */ void printEachForward( BreakIterator& boundary) { int32_t start = boundary.first(); for (int32_t end = boundary.next(); end != BreakIterator::DONE; start = end, end = boundary.next()) { printTextRange( boundary, start, end ); } } /* Print each element in reverse order: */ void printEachBackward( BreakIterator& boundary) { int32_t end = boundary.last(); for (int32_t start = boundary.previous(); start != BreakIterator::DONE; end = start, start = boundary.previous()) { printTextRange( boundary, start, end ); } } /* Print the first element */ void printFirst(BreakIterator& boundary) { int32_t start = boundary.first(); int32_t end = boundary.next(); printTextRange( boundary, start, end ); } /* Print the last element */ void printLast(BreakIterator& boundary) { int32_t end = boundary.last(); int32_t start = boundary.previous(); printTextRange( boundary, start, end ); } /* Print the element at a specified position */ void printAt(BreakIterator &boundary, int32_t pos ) { int32_t end = boundary.following(pos); int32_t start = boundary.previous(); printTextRange( boundary, start, end ); } /* Creating and using text boundaries */ int main( void ) { puts("ICU Break Iterator Sample Program\n"); puts("C++ Break Iteration\n"); BreakIterator* boundary; UnicodeString stringToExamine("Aaa bbb ccc. Ddd eee fff."); printf("Examining: "); printUnicodeString(stringToExamine); puts(""); //print each sentence in forward and reverse order UErrorCode status = U_ZERO_ERROR; boundary = BreakIterator::createSentenceInstance( Locale::getUS(), status ); if (U_FAILURE(status)) { printf("failed to create sentence break iterator. status = %s", u_errorName(status)); exit(1); } boundary->setText(stringToExamine); puts("\n Sentence Boundaries... "); puts("----- forward: -----------"); printEachForward(*boundary); puts("----- backward: ----------"); printEachBackward(*boundary); delete boundary; //print each word in order printf("\n Word Boundaries... \n"); boundary = BreakIterator::createWordInstance( Locale::getUS(), status); boundary->setText(stringToExamine); puts("----- forward: -----------"); printEachForward(*boundary); //print first element puts("----- first: -------------"); printFirst(*boundary); //print last element puts("----- last: --------------"); printLast(*boundary); //print word at charpos 10 puts("----- at pos 10: ---------"); printAt(*boundary, 10 ); delete boundary; puts("\nEnd C++ Break Iteration"); // Call the C version return c_main(); }