Главная страница
    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.039 c
2-1233322044
@!!ex
2009-01-30 16:27
2009.03.29
Как вычленить из строки кусок используя маску?


15-1232335816
Slider007
2009-01-19 06:30
2009.03.29
С днем рождения ! 19 января 2009 понедельник


2-1234175488
TTLr
2009-02-09 13:31
2009.03.29
Сортировка данных по 2-м полям


15-1232607826
XentaAbsenta
2009-01-22 10:03
2009.03.29
сервис


2-1234169069
vegarulez
2009-02-09 11:44
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский