#include #include #include #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(); }