В большинстве случаев CreateFile
, ReadFile
может быть заменен стандартным C или Управление файлами на C++ (то есть или fstream
операции типа). Однако есть некоторые опции, которые вы не можете получить до этого (например, «эксклюзивный доступ» к файлу), поэтому дьявол, как обычно, подробно описан.
Edit: fopen
будет создавать и fread
прочтет из FILE *
, fstream::open
и fstream::read
бы функции для создания и чтения из fstream
.
GetFileSize
обычно делается путем «поискать конец файла, а затем получить позицию файла». Итак, для FILE *
используйте fseek(fp, 0, SEEK_END);
и size = ftell();
, или fstream::seekg();
и fstream::tellg()
- не забудьте сделать поиск в начале, прежде чем читать из файла.
GlobalAlloc
и GlobalFree
должна быть тонкой, чтобы заменить соответствующий из malloc
или new
и free
или delete
в зависимости от того, как именно она используется.
Стандартная функция для печати в строку wchar_t
- это swprintf
, которая также должна работать на Windows, если компилятор соответствует стандартам.
Преимущество использования стандартной библиотеки C (++) заключается в том, что теперь вы можете скомпилировать код для окон и linux, не меняя код. И маловероятно, что вы сможете отличить производительность.
Является ли ваше приложение графическим приложением? Считаете ли вы использование некоторой библиотеки переносимости? Например, Qt и Gtk работают на обеих системах ... (и оба Qt и Gtk обеспечивают уровень низкого уровня, который можно использовать без какого-либо графического интерфейса) –
ry, используя стандартные функции C, а не вызовы Win API – Mark
На самом деле мое приложение читает растровое изображение и отправляет его на принтер после некоторых модификаций, и я использую Anjuta в openSUSE 12.3, и мне не хватает времени для переноса кодов на Qt или ... – Areff