Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];

Вниз

Перевод на С++   Найти похожие ветки 

 
Буратиноо   (2009-01-19 12:49) [0]

Помогите пожалуйста перевести этот код на С++.
function Convd(x:integer):char;
begin
if x<10 then Convd:=chr(x+ord("0"))
else Convd:=Chr(x-10+ord("A"));
end;
function 10toR(N,R:integer):string;
var s:string;
begin
s:="";
repeat
s:=convd(N mod R)+S;
N:=N div R
until N=0;
10toR:=s;
end;


 
Сергей М. ©   (2009-01-19 12:51) [1]

Здесь же не изба-переводильня)
Да и нет в C++ точного аналога дельфийских длинных строк


 
Riply ©   (2009-01-19 13:26) [2]

> [0] Буратиноо   (19.01.09 12:49)
> Помогите пожалуйста перевести этот код на С++.

А может лучше попробовать "свистнуть" у ReactOS`цев ?  :)

NTSTATUS NTAPI RtlIntegerToChar  (  ULONG  value,      
 ULONG  base,      
 ULONG  length,      
 PCHAR  str      
)      
00518 {
00519     CHAR buffer[33];
00520     PCHAR pos;
00521     CHAR digit;
00522     ULONG len;
00523
00524     if (base == 0) {
00525         base = 10;
00526     } else if (base != 2 && base != 8 && base != 10 && base != 16) {
00527         return STATUS_INVALID_PARAMETER;
00528     } /* if */
00529
00530     pos = &buffer[32];
00531     *pos = "\0";
00532
00533     do {
00534         pos--;
00535         digit = value % base;
00536         value = value / base;
00537         if (digit < 10) {
00538             *pos = "0" + digit;
00539         } else {
00540             *pos = "A" + digit - 10;
00541         } /* if */
00542     } while (value != 0L);
00543
00544     len = &buffer[32] - pos;
00545     if (len > length) {
00546         return STATUS_BUFFER_OVERFLOW;
00547     } else if (str == NULL) {
00548         return STATUS_ACCESS_VIOLATION;
00549     } else if (len == length) {
00550         memcpy(str, pos, len);
00551     } else {
00552         memcpy(str, pos, len + 1);
00553     } /* if */
00554     return STATUS_SUCCESS;
00555 }  


 
icWasya ©   (2009-01-19 14:32) [3]

itoa +f1


 
ketmar ©   (2009-01-19 14:55) [4]

именно на C++? rtfm STL, rtfm boost. и не надо велосипедов делать.

---
Do what thou wilt shall be the whole of the Law.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.044 c
1-1208087201
@!!ex
2008-04-13 15:46
2009.03.29
Может ли существовать форма без Applicationа?


2-1233732753
Mishenka
2009-02-04 10:32
2009.03.29
Ошибка при обращении к свойству Lines компонента DBRichEdit


15-1232632612
Sha
2009-01-22 16:56
2009.03.29
Завтра пятница. Просто задумался :)


15-1232984604
Кое кто
2009-01-26 18:43
2009.03.29
Canon IP4200 (Принтер по диску)


15-1232350793
nnov
2009-01-19 10:39
2009.03.29
Железо - Видюха





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский