Код "Borland C" преобразовать "Си"(MinGW) - C (СИ)
Формулировка задачи:
Всем привет!
Программа сортировки по убыванию:
Как я понимаю, IntToStr и StrToInt это функции билдера именно на них и ругается компилятор. Каким образом можно скомпилировать этот код на Си. Или возможно ошибка где то в другом месте? В принципе я написал программу на Си но нужно написать с использованием функций Windows (я все еще слабо понимаю о чем это)...
#include <vcl.h>
#include <windows.h>
#include <wincon.h>
#include <stdio.h>
#pragma hdrstop
#pragma argsused
int main(int argc, char* argv[])
{
char str[50]="Inter integer:";
char buf[100];
char *bf;
DWORD actlen;
BOOL rc;
int a, b, c;
HANDLE hstdin, hstdout;
hstdout=GetStdHandle(STD_OUTPUT_HANDLE);
if(hstdout==INVALID_HANDLE_VALUE)ExitProcess(0);
hstdin=GetStdHandle(STD_INPUT_HANDLE);
if(hstdin==INVALID_HANDLE_VALUE)ExitProcess(0);
//inter a
WriteFile(hstdout,str,strlen(str),&actlen,0);
rc=ReadFile(hstdin,buf,80,&actlen,NULL);
if(!rc)ExitProcess(0);
buf[actlen-2]=0;
a=StrToInt(buf);
//inter b
WriteFile(hstdout,str,strlen(str),&actlen,0);
rc=ReadFile(hstdin,buf,80,&actlen,NULL);
if(!rc)ExitProcess(0);
buf[actlen-2]=0;
b=StrToInt(buf);
//inter c
WriteFile(hstdout,str,strlen(str),&actlen,0);
rc=ReadFile(hstdin,buf,80,&actlen,NULL);
if(!rc)ExitProcess(0);
buf[actlen-2]=0;
c=StrToInt(buf);
//FakeSort
if(a>b && a>c)
{
if(b>c) strcpy(buf,(IntToStr(a)+","+IntToStr(b)+","+IntToStr(c)).c_str());
else strcpy(buf,(IntToStr(a)+","+IntToStr(c)+","+IntToStr(b)).c_str());
}else if(b>c && b>a)
{
if(c>a) strcpy(buf,(IntToStr(b)+","+IntToStr(c)+","+IntToStr(a)).c_str());
else strcpy(buf,(IntToStr(b)+","+IntToStr(a)+","+IntToStr(c)).c_str());
}else
{
if(b>a) strcpy(buf,(IntToStr(c)+","+IntToStr(b)+","+IntToStr(a)).c_str());
else strcpy(buf,(IntToStr(c)+","+IntToStr(a)+","+IntToStr(b)).c_str());
}
WriteFile(hstdout,buf,strlen(buf),&actlen,0);
getchar();
ExitProcess(0);
}Решение задачи: «Код "Borland C" преобразовать "Си"(MinGW)»
textual
Листинг программы
a=atoi(buf);
Объяснение кода листинга программы
- В начале кода определяется переменная
bufтипа char. - Затем с помощью функции atoi() переменной
bufприсваивается значение, которое нужно преобразовать в целое число. - Результат преобразования сохраняется в переменной
aтипа int.