Тема: Разделить текст на строки. Вопрос по С++

Здравствуйте! Вопрос конечно не связан с ARX, но сам я как то доковырять не могу.
Есть вот такая функция, которая должна возвращать часть строки по запросу.

CString FStrtok (CString AddString, int NumberCall)
{
CString Str1, Str2, Str3;
CString AEnter;
int ANumber = 0;
AEnter = AddString.Tokenize(L"\r\n",ANumber);
int NumberStr;
 
NumberStr = 0;
 
while (AEnter != L"")
        {
        if (NumberStr == 0) Str1 = AEnter;
        if (NumberStr == 1) Str2 = AEnter;
        if (NumberStr == 2) Str3 = AEnter;
        AEnter = AddString.Tokenize(L"\r\n",ANumber);
        NumberStr ++;
        }
        if (NumberCall == 0) return Str1;
        if (NumberCall == 1) return Str2;
        if (NumberCall == 2) return Str3;
else return L"Error!";
}

Т.е. если на вход попадает строка L"Один\r\nДва\r\nТри\r\n"
В Str1=L"Один", Str2=L"Два", Str3=L"Три" соответственно. Всё замечательно, пока входная строка не вида L"\r\nДва\r\nТри\r\n", тогда в переменных Str1=L"Два", Str2=L"Три", а надо Str1=L"", Str2=L"Два", Str3=L"Три".
Киньте в меня чем нибудь. Как такое получается?

Re: Разделить текст на строки. Вопрос по С++

Сергей пишет:

Как такое получается?

Тут как-раз всё очевидно - в твоей строке всё начинается с разделителей, они пропускаются и первой строкой становится L"Два". Если тебя не устраивает такой вариант, то тебе придется написать свою версию Tokenize.

Re: Разделить текст на строки. Вопрос по С++

Не а=) Не устраивает.
Наверно придется посимвольно всё перебирать и последовательно подпихивать в Str1....3