Сегодня наводя порядок в своих архивах наткнулся на интересную находку — как то в 2008 разрабатывал АПК TrapMind и даже оформил на него авторское свидетельство.
Category Archives: Общая
Обо всём…
Go Open-source!
Наконец-то дошли руки!
Уже давно хотелось поделиться своими экспериментами юности в области программирования.
В основном тогда мне было интересно писать на Pascal/Delphi + Assembler.
- DragRacing Timer — отсечка времени гонщиков с помощью самодельного железа
- ClockWork — таймер выключения оформленный в теме Fallout
- MP3 NaviGatoR — Продвинутый mp3 плеер для CJ
- DOS Disk Editor — низкоуровневый редактор/менеджер дисков для DOS
- AWARD BIOS Password Recovery — Восстановление (подбор) пароля, сохраненного как хэш в CMOS
Пользуйтесь на здоровье в образовательных целях! =)
Странное поведение функции
NSString *dbReadString(FILE *f) { char cBuf[256]; NSString *result = nil; int len = 0; fread(&len, 1, 1, f); if ( len > 0 ) { if ( len > 255 ) len = 255; fread(&cBuf, len, 1, f); cBuf[ len ] = 0; result = [[NSString alloc] initWithBytes:cBuf length:len encoding:NSWindowsCP1251StringEncoding]; NSString *result2 = [[NSString alloc] initWithCString: cBuf encoding: NSWindowsCP1251StringEncoding]; if ([result compare:result2] != NSOrderedSame) NSLog(@"/%@/ ! = /%@/", result, result2); } return result; }
NSLog иногда срабатывает.
Upd: Если встречается буфер с содержимым к примеру: ‘AB’\0’C’ (при длине строки в 4 символа), то при использовании инициализатора initWithBytes: length: encoding: нулевые символы тоже попадают в строку.
Это приводит к непредсказуемым результатом в работе с этой строкой.
Так что лучше использовать initWithCString.
Hello world!
GitHub: iNiKe
Заметки из своего повседневного опыта кросс-платформенного программирования и не только…
- Objective-C
- C#
- C/C++
- PHP
Мобильные платформы
- iOS
- Windows Phone/Windows Mobile
- Android
Прочие платформы
- Windows
- MAC OS X
- *nix