ICU-4678 Use u_fprintf instead of printf
X-SVN-Rev: 21658
This commit is contained in:
parent
debbc013c6
commit
31d17573e7
@ -1,7 +1,7 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Copyright (C) 2002-2005, International Business Machines
|
||||
* Copyright (C) 2002-2007, International Business Machines
|
||||
* Corporation and others. All Rights Reserved.
|
||||
*
|
||||
*******************************************************************************
|
||||
@ -19,89 +19,89 @@ static UFILE *out;
|
||||
|
||||
void printUnicodeString(const UnicodeString &s)
|
||||
{
|
||||
u_fprintf(out, "%S", s);
|
||||
u_fprintf(out, "%S", s);
|
||||
}
|
||||
|
||||
void printUChar(UChar32 ch)
|
||||
{
|
||||
if(ch < 127) {
|
||||
u_fprintf(out, "%C", (UChar) ch);
|
||||
u_fprintf(out, "%C", (UChar) ch);
|
||||
} else if (ch == CharacterIterator::DONE) {
|
||||
u_fprintf(out, "[CharacterIterator::DONE = 0xFFFF]");
|
||||
u_fprintf(out, "[CharacterIterator::DONE = 0xFFFF]");
|
||||
} else {
|
||||
u_fprintf(out, "[%X]", ch);
|
||||
u_fprintf(out, "[%X]", ch);
|
||||
}
|
||||
}
|
||||
|
||||
class Test
|
||||
{
|
||||
public:
|
||||
void TestUChariter();
|
||||
void TestStringiter();
|
||||
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.";
|
||||
"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);
|
||||
|
||||
|
||||
u_fprintf(out, "testText = %s", testChars);
|
||||
|
||||
if (iter != *test2 ) {
|
||||
printf("clone() or equals() failed: Two clones tested unequal\n");
|
||||
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) {
|
||||
printf("iter.getText() != clone.getText()\n");
|
||||
u_fprintf(out, "iter.getText() != clone.getText()\n");
|
||||
}
|
||||
|
||||
|
||||
u_fprintf(out, "\n");
|
||||
|
||||
// Demonstrates seeking forward using the iterator.
|
||||
// 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)) {
|
||||
printf("startIndex() or endIndex() failed\n");
|
||||
u_fprintf(out, "startIndex() or endIndex() failed\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// Testing forward iteration...
|
||||
do {
|
||||
if (c == CharacterIterator::DONE && i != u_strlen(testText)) {
|
||||
printf("Iterator reached end prematurely");
|
||||
u_fprintf(out, "Iterator reached end prematurely");
|
||||
}
|
||||
else if (c != testText[i]) {
|
||||
printf("Character mismatch at position %d\n" + i);
|
||||
u_fprintf(out, "Character mismatch at position %d\n" + i);
|
||||
}
|
||||
if (iter.current() != c) {
|
||||
printf("current() isn't working right");
|
||||
u_fprintf(out, "current() isn't working right");
|
||||
}
|
||||
if (iter.getIndex() != i) {
|
||||
printf("getIndex() isn't working right\n");
|
||||
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");
|
||||
}
|
||||
@ -113,20 +113,20 @@ void Test::TestStringiter() {
|
||||
|
||||
UnicodeString testString(testChars,"");
|
||||
const UChar *testText = testString.getTerminatedBuffer();
|
||||
|
||||
|
||||
StringCharacterIterator iter(testText, u_strlen(testText));
|
||||
StringCharacterIterator* test2 = (StringCharacterIterator*)iter.clone();
|
||||
|
||||
|
||||
if (iter != *test2 ) {
|
||||
printf("clone() or equals() failed: Two clones tested unequal\n");
|
||||
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) {
|
||||
printf("getText() failed\n");
|
||||
u_fprintf(out, "getText() failed\n");
|
||||
}
|
||||
|
||||
u_fprintf(out, "Backwards: ");
|
||||
@ -138,22 +138,22 @@ void Test::TestStringiter() {
|
||||
i--; // already printed out the last char
|
||||
|
||||
if (iter.startIndex() != 0 || iter.endIndex() != u_strlen(testText)) {
|
||||
printf("startIndex() or endIndex() failed\n");
|
||||
u_fprintf(out, "startIndex() or endIndex() failed\n");
|
||||
}
|
||||
|
||||
|
||||
// Testing backward iteration over a range...
|
||||
do {
|
||||
if (c == CharacterIterator::DONE) {
|
||||
printf("Iterator reached end prematurely\n");
|
||||
u_fprintf(out, "Iterator reached end prematurely\n");
|
||||
}
|
||||
else if (c != testText[i]) {
|
||||
printf("Character mismatch at position %d\n" + i);
|
||||
u_fprintf(out, "Character mismatch at position %d\n", i);
|
||||
}
|
||||
if (iter.current() != c) {
|
||||
printf("current() isn't working right\n");
|
||||
u_fprintf(out, "current() isn't working right\n");
|
||||
}
|
||||
if (iter.getIndex() != i) {
|
||||
printf("getIndex() isn't working right [%d should be %d]\n", 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();
|
||||
@ -171,25 +171,25 @@ void Test::TestStringiter() {
|
||||
/* Creating and using text boundaries */
|
||||
int main( void )
|
||||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
|
||||
out = u_finit(stdout, NULL, NULL);
|
||||
out = u_finit(stdout, NULL, NULL);
|
||||
|
||||
u_fprintf(out, "ICU Iteration Sample Program (C++)\n\n");
|
||||
|
||||
Test t;
|
||||
u_fprintf(out, "ICU Iteration Sample Program (C++)\n\n");
|
||||
|
||||
u_fprintf(out, "\n");
|
||||
u_fprintf(out, "Test::TestUCharIter()\n");
|
||||
Test t;
|
||||
|
||||
t.TestUChariter();
|
||||
u_fprintf(out, "\n");
|
||||
u_fprintf(out, "Test::TestUCharIter()\n");
|
||||
|
||||
u_fprintf(out, "-----\n");
|
||||
u_fprintf(out, "Test::TestStringchariter()\n");
|
||||
t.TestUChariter();
|
||||
|
||||
t.TestStringiter();
|
||||
u_fprintf(out, "-----\n");
|
||||
u_fprintf(out, "Test::TestStringchariter()\n");
|
||||
|
||||
u_fprintf(out, "-----\n");
|
||||
t.TestStringiter();
|
||||
|
||||
return 0;
|
||||
u_fprintf(out, "-----\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user