fgets()
reads char wise from the file until it reads a new line character, the buffer size is reached, or at the end of the file. But even with a buffer size of 6144 bytes and a line that is so long this should not take three seconds. Maybe the time is consumed elsewhere in your code.
To improbe reading, you may read the complete file content into an allocated buffer and parse this to get your data:
long lFileSize;
char *pBuf;
lFileSize = _filelength(_fileno(fStream));
pBuf = (char *)malloc(lFileSize + 1);
fread(pBuf, 1, lFileSize, fStream);
pBuf[lFileSize] = '\0';
free(pBuf);