От:
Russel
Дата: 15.01.02 15:58
Оценка:
char buf[10];
CharToOem("фффффффффф",buf);
char *res=AnsiUpper(buf);
cout<<res<<endl;
сout<<buf<<endl;
Хочу перевести русские буковки в верхний регистр. Не работает, подскажите код, плз.
Re: Большие русские буковки
От:
Willi
Дата: 15.01.02 16:01
Оценка:
Здравствуйте Russel, Вы писали:
R> char buf[10];
R> CharToOem("фффффффффф",buf);
R> char *res=AnsiUpper(buf);
R> cout<<res<<endl;
R> сout<<buf<<endl;
R>Хочу перевести русские буковки в верхний регистр. Не работает, подскажите код, плз.
DWORD CharUpperBuff(
LPTSTR lpsz, // characters
DWORD cchLength // number of characters to process
);
\/\/i||i
Re: Большие русские буковки
Здравствуйте Russel, Вы писали:
R> char buf[10];
R> CharToOem("фффффффффф",buf);
R> char *res=AnsiUpper(buf);
R> cout<<res<<endl;
R> сout<<buf<<endl;
R>Хочу перевести русские буковки в верхний регистр. Не работает, подскажите код, плз.
AnsiUpper — это 16 битная функция, в 32 битных платформах вместо нее рекомендуют использовать
LPTSTR CharUpper(
LPTSTR lpsz // single character or string
);
Re: Большие русские буковки
От:
Bell
Дата: 16.01.02 06:05
Оценка:
Здравствуйте Russel, Вы писали:
R> char buf[10];
R> CharToOem("фффффффффф",buf);
R> char *res=AnsiUpper(buf);
R> cout<<res<<endl;
R> сout<<buf<<endl;
R>Хочу перевести русские буковки в верхний регистр. Не работает, подскажите код, плз.
А может все дело в том, что строка "фф..." содержит 10 символов, и в buf[10] просто не хватает места для завершающего нуля?
Любите книгу — источник знаний (с) М.Горький
Re[2]: Большие русские буковки
От:
Кодт
Дата: 16.01.02 07:36
Оценка:
Здравствуйте Bell, Вы писали:
B>Здравствуйте Russel, Вы писали:
R>> char buf[10];
R>> CharToOem("фффффффффф",buf);
R>> char *res=AnsiUpper(buf);
R>> cout<<res<<endl;
R>> сout<<buf<<endl;
R>>Хочу перевести русские буковки в верхний регистр. Не работает, подскажите код, плз.
B>А может все дело в том, что строка "фф..." содержит 10 символов, и в buf[10] просто не хватает места для завершающего нуля?
А может, в том, что AnsiUpper работает с WIN-кодировкой? И надо сначала привести в верхний регистр, а уже потом — в OEM.
TCHAR szAnsi[10], szOem[10];
lstrcpyn(szAnsi, "ффффффффффффффффф" , 10);
CharUpper(szAnsi);
CharToOem(szAnsi, szOem);
cout << szOem << endl;
Перекуём баги на фичи!
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить