]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/samples/break/break.cpp
ICU-6.2.4.tar.gz
[apple/icu.git] / icuSources / samples / break / break.cpp
index d3a6ee27295606836e7f0d154ec95aa6a6c3f259..90d77efad42e0eb1a049e9592638aebd6c5bfb0b 100644 (file)
@@ -7,7 +7,7 @@
 *******************************************************************************
 */
 
 *******************************************************************************
 */
 
-#include <iostream.h>
+#include <stdio.h>
 #include <unicode/brkiter.h>
 #include <stdlib.h>
 
 #include <unicode/brkiter.h>
 #include <stdlib.h>
 
@@ -15,126 +15,129 @@ U_CFUNC int c_main(void);
 
 
 void printUnicodeString(const UnicodeString &s) {
 
 
 void printUnicodeString(const UnicodeString &s) {
-  char charBuf[1000];
-  s.extract(0, s.length(), charBuf, sizeof(charBuf)-1, 0);   
-  charBuf[sizeof(charBuf)-1] = 0;          
-  cout << charBuf;
+    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, 
 void printTextRange( BreakIterator& iterator, 
-                    int32_t start, int32_t end )
+                    int32_t start, int32_t end )
 {
 {
-  CharacterIterator *strIter = iterator.getText().clone();
-  UnicodeString  s;
-  strIter->getText(s);
-
-  cout << " " << start << " " << end << " |" ;
-  printUnicodeString(s);
-  cout << "|" << '\n';
-  delete strIter;
+    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)
 {
 }
 
 
 /* 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())
+    int32_t start = boundary.first();
+    for (int32_t end = boundary.next();
+         end != BreakIterator::DONE;
+         start = end, end = boundary.next())
     {
     {
-      printTextRange( boundary, start, end );
+        printTextRange( boundary, start, end );
     }
 }
 
 /* Print each element in reverse order: */
 void printEachBackward( BreakIterator& boundary)
 {
     }
 }
 
 /* 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())
+    int32_t end = boundary.last();
+    for (int32_t start = boundary.previous();
+         start != BreakIterator::DONE;
+         end = start, start = boundary.previous())
     {
     {
-      printTextRange( boundary, start, end );
+        printTextRange( boundary, start, end );
     }
 }
 
 /* Print the first element */
 void printFirst(BreakIterator& boundary)
 {
     }
 }
 
 /* Print the first element */
 void printFirst(BreakIterator& boundary)
 {
-  int32_t start = boundary.first();
-  int32_t end = boundary.next();
-  printTextRange( boundary, start, end );
+    int32_t start = boundary.first();
+    int32_t end = boundary.next();
+    printTextRange( boundary, start, end );
 }
 
 /* Print the last element */
 void printLast(BreakIterator& boundary)
 {
 }
 
 /* Print the last element */
 void printLast(BreakIterator& boundary)
 {
-  int32_t end = boundary.last();
-  int32_t start = boundary.previous();
-  printTextRange( boundary, start, end );
+    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 )
 {
 }
 
 /* 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 );
+    int32_t end = boundary.following(pos);
+    int32_t start = boundary.previous();
+    printTextRange( boundary, start, end );
 }
 
 /* Creating and using text boundaries */
 int main( void )
 {
 }
 
 /* Creating and using text boundaries */
 int main( void )
 {
-  cout << "ICU Break Iterator Sample Program\n\n";
-  cout << "C++ Break Iteration\n\n";
-  BreakIterator* boundary;
-  UnicodeString stringToExamine("Aaa bbb ccc. Ddd eee fff.");
-  cout << "Examining: ";
-  printUnicodeString(stringToExamine);
-  cout << endl;
-
-  //print each sentence in forward and reverse order
-  UErrorCode status = U_ZERO_ERROR;
-  boundary = BreakIterator::createSentenceInstance(
-                                                  Locale::getUS(), status );
-  if (U_FAILURE(status)) {
-    cout << 
-      "failed to create sentence break iterator.  status = " 
-        << u_errorName(status);
-    exit(1);
-  }
-
-  boundary->setText(stringToExamine);
-  cout << "\n Sentence Boundaries... \n";
-  cout << "----- forward: -----------" << '\n';
-  printEachForward(*boundary);
-  cout << "----- backward: ----------" << '\n';
-  printEachBackward(*boundary);
-  delete boundary;
-
-  //print each word in order
-  cout << "\n Word Boundaries... \n";
-  boundary = BreakIterator::createWordInstance(
-                                              Locale::getUS(), status);
-  boundary->setText(stringToExamine);
-  cout << "----- forward: -----------" << '\n';
-  printEachForward(*boundary);
-  //print first element
-  cout << "----- first: -------------" << '\n';
-  printFirst(*boundary);
-  //print last element
-  cout << "----- last: --------------" << '\n';
-  printLast(*boundary);
-  //print word at charpos 10
-  cout << "----- at pos 10: ---------" << '\n';
-  printAt(*boundary, 10 );
-
-  delete boundary;
-  cout.flush();
-
-  // Call the C version
-  return c_main();
+    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();
 }
 }