OK, so I figured out my problem with the endian swapping portion of my program, and now I'm trying to get it to handle file naming, etc. So I'm passing various portions of the file path to the program from a batch file (to make it easier to separate those portions). When I echo those portions from the batch file, they're perfect, but when I print them from the program after they're passed, they're all jumbled up. Here's the pertinent part of my code:When I do that, I get this output:Code:#include <stdio.h> #include <stdlib.h> #include <limits.h> #include <stdint.h> main(int argc, char *argv[]) { FILE* originalSave; FILE* newSave; long fileSize; long finalSize; uint32_t *buffer, result = 0; int x; char *savePath; char *name; char *ext; char *saveText; originalSave = fopen(argv[1], "rb"); ext = argv[2]; name = argv[3]; savePath = argv[4]; printf("savePath = %s\nname = %s\next = %s", savePath, name, ext); //printf("C:\\%s%s%s", savePath, name, ext); system("PAUSE"); return 0; }But the output from the batch file is:Code:savePath = Documents\wii64saveSwap\ZELDA name = Settings\User\My ext = andI'm utterly confused by why it's doing that. Do you guys?Code:savePath = "C:\Documents and Settings\User\My Documents\wii64saveSwap\" name = "ZELDA MAJORA'S MASK(U)" ext = ".fla"