rendered paste body#include <math.h>
#include <windows.h>
#include <stdio.h>
#define safeAlloc(name, size) \
char *name = (char* )malloc(size); \
memset(name, '\0', size);
typedef struct _pointType
{
double X;
double Y;
} pointType;
double calcDistance(pointType val1, pointType val2)
{
return sqrt( pow( ( val2.X - val1.X ), 2 ) + pow( (val2.Y - val1.Y), 2));
}
int main()
{
int fLen = 0;
HANDLE hFile = CreateFile(
"lol.txt",
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS,
NULL
);
if (hFile == INVALID_HANDLE_VALUE)
{
printf("Could not open file!");
getchar();
return -1;
}
fLen = GetFileSize(hFile, NULL);
safeAlloc(data, fLen + 1);
DWORD readLength = 0;
ReadFile(hFile, data, fLen, &readLength, NULL);
int line1Len = 0;
int line1Start = 0;
int line2Len = 0;
int line2Start = 0;
for (int x = 0; x < fLen; x++)
{
if (data[x] == '\r')
{
line1Len = x;
line2Start = x + 2;
line2Len = (fLen - 2) - line1Len;
break;
}
}
int line1Len1 = 0;
int line1Start1 = 0;
int line1Len2 = 0;
int line1Start2 = 0;
for (int x = 0; x < line1Len; x++)
{
if (data[x] == ',')
{
line1Len1 = x;
line1Start2 = x + 1;
line1Len2 = (line1Len - 1) - line1Len1;
}
}
int line2Len1 = 0;
int line2Start1 = line2Start;
int line2Len2 = 0;
int line2Start2 = 0;
for (int x = line2Start; x < line2Start + line2Len; x++)
{
printf("X: %d\n", x);
if (data[x] == ',')
{
line2Len1 = x;
line2Start2 = x + 1;
line2Len2 = (line2Len - 1) - line2Len1;
}
}
safeAlloc(line1X, line1Len1 + 1);
safeAlloc(line1Y, line1Len2 + 1);
safeAlloc(line2X, line2Len1 + 1);
safeAlloc(line2Y, line2Len2 + 1);
printf("line2Start1: %d\n", line2Start1);
printf("line2Len1: %d\n", line2Len1);
for (int x = line1Start1; x < line1Len1; x++)
line1X[x] = data[x];
for (int x = line1Start2; x < line1Start2 + line1Len2; x++)
line1Y[x - line1Start2] = data[x];
for (int x = line2Start1; x < line2Start1 + line2Len1; x++)
line2X[x - line2Start1] = data[x];
for (int x = line2Start2; x < line2Start2 + line2Len2; x++)
line2Y[x - line2Start2] = data[x];
printf("Point 1 X: %s, Y: %s\n", line1X, line1Y);
printf("Point 2 X: %s, Y: %s", line2X, line2Y);
getchar();
}