got the solution. Open it as a binary file (the default is text). Add a 'b' to the end of your opening mode (e.g. "r" becomes "rb"). You don't need to change anything else
I'm creating an XML parser (please don't suggest any. The point is, I'm making it myself), and I realized that while using fseek, you scrawl through the exact bytes of a file, but when you fread, 0x0A0D (newline character.. for some reason it's 2 bytes long) gets parsed to 0x0A.. it's very annoying, because the file MIGHT have just had 0x0A (not 0x0A0D) so I can't just add 1 to what I'm fseeking if I encounter a 0x0A in my parsed data, but I can't ignore it because that throws it off. Is there any way around this newline parsing problem?