Привет.
Хочу сделать конвертер из txt в pro файл.
Вот код. Пишу на си.
#include <stdio.h>
#include <windows.h>
int main (int argc, char * argv[])
{
int c;
FILE *f;
f=fopen(argv[2],"wb");
c=GetPrivateProfileInt("General","Proto_ID",0,argv[1]);;
putw(c,f);
c=GetPrivateProfileInt("General","Description_ID",0,argv[1]);;
putw(c,f);
c=GetPrivateProfileInt("General","FRM_ID",0,argv[1]);;
putw(c,f);
fclose(f);
}
запускаю так
rem ..\bin\gcc.exe main.c
call a.exe .\\test.txt test.pro
pause
test.txt
[General]
Proto_ID=1
Description_ID=15
FRM_ID=1500
Есть одна проблема при создании прошника байты получаются сдвинуты.
Вот пример
Оригинальный
01 00 00 0F 00 00 05 DC 01
Получается
01 00 00 00 0F 00 00 00 DC 05 00 00
Сдвинут на 1 байт. Как это исправить? И ещё почему то значения меняются в оригинале 05 DC
а получается DC 05. Непонятно.

У тебя переменная "с" - int (4 байта). Кстати... Можешь писать функцией fwrite. Там можно указать количество записываемых байт.
Нет, я всё понимаю - но если используешь кросплатформенный компилятор - зачем привязываться к API винды? 